为了一个研究项目,我有很多csv文件需要从逗号(,)分隔符更改为分号(;)分隔符。所以我只需要更改分隔符。
通常我会在Excel中处理,但这需要很多工作。而且我需要为每个文件单独处理,而且Excel处理它需要很长时间。
我已经创建了一个输入和输出文件夹,在下面的代码中可以正常工作。问题是:
1. 逗号没有变成分号。 2. 出于某种原因,它会添加一个空白行,我不知道为什么会这样。
有人能给一些提示吗?
通常我会在Excel中处理,但这需要很多工作。而且我需要为每个文件单独处理,而且Excel处理它需要很长时间。
我已经创建了一个输入和输出文件夹,在下面的代码中可以正常工作。问题是:
1. 逗号没有变成分号。 2. 出于某种原因,它会添加一个空白行,我不知道为什么会这样。
有人能给一些提示吗?
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)
delimiter=';'
应该是分号。 - Willem Van Onsemcsv
模块。只需将整个文件读入字符串并使用str.replace
方法即可。 - PM 2Ring