![](/img/trans.png)
[英]How to write complete dictionary in existing csv file in loop using python
[英]python - how to write to a csv file while in a loop
我有一段执行循环的代码:
for i in os.listdir(os.getcwd()):
if i.endswith(".gz"):
myfilename=i
getHum=int(subprocess.check_output('''zcat %s | awk 'BEGIN {FS=";"};{print $6}' | grep -i 'hummer' | wc -l''' % myfilename, shell=True))
getBMW=int(subprocess.check_output('''zcat %s | awk 'BEGIN {FS=";"};{print $6}' | grep -i 'bmw' | wc -l''' % myfilename, shell=True))
getAudi=int(subprocess.check_output('''zcat %s | awk 'BEGIN {FS=";"};{print $6}' | grep -i 'audi' | wc -l''' % myfilename, shell=True))
现在,我正在尝试修改它,因此我将输出写入逗号 sep csv 文件。 如何遍历每个文件并将提取的内容写入 csv 文件? 谢谢。
我认为这样的事情会做你想要的:
def get_brand_count(filename, brand):
return int(subprocess.check_output('''zcat %s | '''
'''awk 'BEGIN {FS=";"};{print $6}' | '''
'''grep -i %r | wc -l''' %
(filename, brand), shell=True))
brands = 'hummer', 'bmw', 'audi'
with open('results.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow(brands) # csv header row (if desired)
for myfilename in glob.iglob('*.gz'):
csvwriter.writerow([get_brand_count(myfilename, brand)
for brand in brands])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.