我想创建 2 个或更多 CSV 文件,for
但只创建了 1 个 CSV。
import csv
import os
foods = ['pasta','chocolate']
for food in foods:
with open(food+'.csv', 'w') as csvfile:
fieldnames = ['id', 'Category', 'Name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
os.chdir('E:/data/'+food)
folders = os.listdir(os.curdir)
for filename in folders:
writer.writerow({'id':'', 'Category':food, 'Name':filename})
在这种情况下,只有pasta.csv
成功创建。我想要chocolate.csv
也创建。任何解决方案?谢谢
我怀疑 for 正在工作,问题出在os.chdir
. 你只需要它来获取目录列表,你应该考虑使用glob
:
import csv
from glob import glob
foods = ['pasta','chocolate']
for food in foods:
with open(food+'.csv', 'w') as csvfile:
fieldnames = ['id', 'Category', 'Name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
folders = glob('E:/data/'+food+'/*/')
for filename in folders:
writer.writerow({'id':'', 'Category':food, 'Name':filename})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句