【发布时间】:2014-07-18 23:13:39
【问题描述】:
我有一个 csv 文件,其中有一列具有多个值。我试图在具有多个子目录的根目录中查找所有文件的名称以列的每个值开头,并返回这些文件所在的路径并将它们写入 csv。例如:列的第一个值是“linux”,所以如果我有两个名为“linux01.jpg”和“linuximg.jpg”的文件,该函数将返回 csv 中的两个路径。 这就是我现在所拥有的,我的 csv 是空白的。谢谢。
import csv
import os, fnmatch
def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
ifile = open('carte.csv', 'rb')
reader = csv.reader(ifile)
ofile = open('output.csv', 'wb')
writer = csv.writer(ofile, delimiter='\t')
for row in reader:
find_key = find(row[3], '/home/ro/Desktop/search/IDBUF')
if find_key != None:
writer.writerow(find_key)
【问题讨论】: