For a study project I have many many csv files that I need to change from comma (,) separated to semicolon (;) separated. So I only need to change the separator.
I normally do it in Excel, but that takes a lot of work. And there I need to do it for every file separately plus Excel take a lot of time to do it.
I have made a input and output folder.
That works fine in the code below.
The problem is:
- the comma is not getting changed in a semicolon.
- and for some reason it is adding a blank line, I don’t know why it does that.
Can somebody give some tips?
import csv
from pathlib import Path
folder_in = Path(r'C:convertTrajectoryIn')
folder_out = Path(r'C:convertTrajectoryOut')
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)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…