drb*_*sen 10 python csv parsing
我怀疑这是一个常见的问题,但我似乎找不到答案.我试图从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)
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?在此先感谢您的帮助.
G G*_*III 24
答案比你想象的要容易.您只需要为以下内容设置分隔符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)
Run Code Online (Sandbox Code Playgroud)
你试图替换,,:因为行已经被处理了,所以不会做任何事情csv.reader.
如果要读取带有逗号分隔符的csv并将其写入带有分号分隔符的另一个文件中。我认为更简单的方法是:
reader = csv.reader(open("input.csv", "rU"), delimiter=',')
writer = csv.writer(open("output.csv", 'w'), delimiter=';')
writer.writerows(reader)
Run Code Online (Sandbox Code Playgroud)
我发现此示例比使用容易理解得多with open(...)。另外,如果您使用逗号和分号作为分隔符来处理文件。您可以在读取文件之前使用csv文件的嗅探器检测使用哪个定界符(链接中的示例)。
另外,如果要重写同一文件,请检查此stackoverflow答案。
| 归档时间: |
|
| 查看次数: |
22690 次 |
| 最近记录: |