0
我想为我自己的目的使用Python脚本here。我不是Python家伙,所以希望有人能看到我的错误。使用正则表达式将文件夹内容写入CSV
下面的脚本不会出错。我的CSV创建时没有值。我有没有加入问题?我期待将数据写入CSV。
# import the standard libraries you'll need
import os # https://docs.python.org/2/library/os.html
import re # https://docs.python.org/2/library/re.html
# this function will walk your directories and output a list of file paths
def getFilePaths(directory):
file_paths = []
for root, directories, files in os.walk(directory):
for filename in files:
filepath = os.path.join(root, filename)
file_paths.append(filepath)
return file_paths
audio_file_paths = getFilePaths("Z:\Dropbox\Apps\DirScan\files")
output_to_csv = [];
for audio_file in audio_file_paths:
base_path, fname = os.path.split(audio_file)
reg_ex = re.compile("^(.*) - (.*) - (.*).mp3$");
# now apply the compiled regex to each path
name_components = reg_ex.match(fname);
output_to_csv.append("{0},{1}".format(",".join(name_components), base_path));
#create the file, making sure the location is writeable
csv_doc = open("database.csv", "w");
# now join all the rows with line breaks and write the compiled text to the file
csv_doc.write('\n'.join(output_to_csv));
#close your new database
csv_doc.close()
你想找到歌曲的名字? – Kasramvd 2014-09-03 23:09:22
是的。理想的情况是eyeD3这样的MP3标签可以工作。但文件名遵循严格的格式,因此可以从中提取此表/ CSV。 – 2014-09-03 23:16:18