[英]Converting multiple CSVs to TSVs using Python
尝试使用 python 将多个 (5) CSV 转换为 TSV,但是当我运行它时它只创建 1 个 TSV。 任何人都可以帮忙吗?
import csv
import sys
import os
import pathlib
print ("Exercise1.csv"), sys.argv[0]
dirname = pathlib.Path('/Users/Amber/Documents')
for file in pathlib.Path().rglob('*.csv'):
with open(file,'r') as csvin, open('Exercise1.tsv', 'w') as tsvout:
csvin = csv.reader(csvin)
tsvout = csv.writer(tsvout, delimiter='\t')
for row in csvin:
print(row)
tsvout.writerow(row)
exit ()
谢谢!
您正在使用 for 循环打开 .csv 文件夹中的每个文件,但只打开一个要写入的文件 (Exercise1.tsv)。 所以你每次都覆盖同一个文件。 您需要在循环的每次迭代中创建要写入的新文件。 你可以尝试这样的事情:
for i,file in enumerate(pathlib.Path().rglob('*.csv')):
with open(file,'r') as csvin, open('Exercise_{}.tsv'.format(i), 'w') as tsvout:
csvin = csv.reader(csvin)
tsvout = csv.writer(tsvout, delimiter='\t')
enumerate() 向 for 循环添加一个计数器。 这将在您的 Exercise.tsv 文件中附加一个数字,从 0 到您目录中文件的长度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.