对于一个研究项目,我有很多 csv 文件,我需要将它们从逗号 (,) 分隔更改为分号 (;) 分隔。所以我只需要改变分隔符。
\n\n我通常在 Excel 中完成此操作,但这需要大量工作。我需要分别为每个文件执行此操作,而且 Excel 需要花费大量时间来执行此操作。
\n\n我制作了一个输入和输出文件夹。\n在下面的代码中效果很好。\n问题是:
\n\n有人可以给一些建议吗?
\n\nimport csv \nfrom pathlib import Path\n\nfolder_in = Path(r'C:\\convert\\Trajectory\\In') \nfolder_out = Path(r'C:\\convert\\Trajectory\\Out')\n\nfor incsv in folder_in.iterdir():\n outcsv = folder_out.joinpath(incsv.name)\n with open(str(incsv), 'r') as fin, open(str(outcsv), 'w') as fout:\n reader = csv.DictReader(fin)\n writer = csv.DictWriter(fout, reader.fieldnames, delimiter=';')\n writer.writeheader()\n writer.writerows(reader)\nRun Code Online (Sandbox Code Playgroud)\n
没有答案,这是我在同一文件上实现 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)
Run Code Online (Sandbox Code Playgroud)
我使用了list()所以保留了阅读器的内容,然后我重新打开文件以写入其中。
如果您不需要将更改放在同一文件中,您可以检查此答案。
| 归档时间: |
|
| 查看次数: |
23896 次 |
| 最近记录: |