我怀疑这是一个常见问题,但我似乎找不到答案。我正在尝试从 csv 文件中删除所有逗号并用冒号替换它们。我通常会为此使用 sed 或 vi,但我需要使用纯 python 实现。这是我到目前为止的想法:
import csv
with open("temp.csv", mode="rU") as infile:
reader = csv.reader(infile, dialect="excel")
with open("temp2.txt", mode="w") as outfile:
writer = csv.writer(outfile)
for rows in reader:
for parsed_item in rows:
parsed_item = rows.replace(',', ':') # I can't do this with a list!
writer.writerow(parsed_item)
谁能帮我解决这个问题?预先感谢您的帮助。
最佳答案
答案比您想象的要简单。您只需要为 csv.writer
设置分隔符:
import csv
row = #your data
with open("temp.csv", mode="rU") as infile:
reader = csv.reader(infile, dialect="excel")
with open("temp2.txt", mode="w") as outfile:
writer = csv.writer(outfile, delimiter=':')
writer.writerows(rows)
您正在尝试用 替换
不会执行任何操作,因为该行已被 ,
:csv.reader处理过
.
关于Python解析csv文件——用冒号代替逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6630170/