对于一个研究项目,我有许多csv文件,我需要将它们从逗号(,)更改为分隔为分号(;)。所以我只需要更改分隔符。
我通常在Excel中执行此操作,但这需要大量工作。而且我需要分别为每个文件执行此操作,而Excel需要花费大量时间来完成它。
我制作了一个输入输出文件夹。 这在以下代码中工作正常。 问题是:
有人可以提供一些提示吗?
import csv
from pathlib import Path
folder_in = Path(r'C:\convert\Trajectory\In')
folder_out = Path(r'C:\convert\Trajectory\Out')
for incsv in folder_in.iterdir():
outcsv = folder_out.joinpath(incsv.name)
with open(str(incsv), 'r') as fin, open(str(outcsv), 'w') as fout:
reader = csv.DictReader(fin)
writer = csv.DictWriter(fout, reader.fieldnames, delimiter=';')
writer.writeheader()
writer.writerows(reader)
答案 0 :(得分:1)
没有答案,这是我在同一个文件中以分号实现的csv逗号的命题:
path="file_to_convert.csv"
reader = list(csv.reader(open(path, "rU"), delimiter=','))
writer = csv.writer(open(path, 'w'), delimiter=';')
writer.writerows(row for row in reader)
我使用了list()
,因此保留了读者的内容,我重新打开要写入的文件。
如果您不需要将更改放在同一个文件中,可以查看answer。