hol*_*erm 7 python csv excel bank python-3.x
我的 csv 文件以分号作为分隔符。我可以用以下命令打开它
\n\nr = csv.reader(infile, delimiter=";")\n没有任何问题。问题是我想将文件作为字典打开。班级csv.DictReader没有这个delimiter选项。
我的代码:
\n\nimport os\nimport csv\nfields = ["Buchungstag", "Buchungstext", "Beguenstigter/Zahlungspflichtiger", "", "", "Betrag", "Verwendungszweck"]\n\nwith open("bank.csv") as infile, open("temp2.csv", "w", newline="") as outfile:\n    r = csv.DictReader(infile)\n    w = csv.DictWriter(outfile, fields, extrasaction="ignore")\n    w.writeheader()\n    for row in r:\n        w.writerow(row)\n我尝试打开文件并仅加载某些字段,如果我事先修改文件,将其替换为;(,我为此使用记事本++)\xe2\x80\x93,则该字段有效,但我想跳过这部分并直接打开文件。
Zer*_*eus 15
和DictReader都DictWriter接受任意参数,包括delimiter,并将它们传递给底层reader或writer对象,如文档所述:
\n\n\n\n\n类
\n\ncsv.DictReader(\xe2\x80\xa6)所有其他可选参数或关键字参数都传递给底层
\nreader实例。
\n\n\n类
\n\ncsv.DictWriter(\xe2\x80\xa6)任何其他可选参数或关键字参数都会传递给底层
\nwriter实例。
将上面代码中的相关行更改为
\n\n    r = csv.DictReader(infile, delimiter=";")\n应该按预期工作。
\n| 归档时间: | 
 | 
| 查看次数: | 6637 次 | 
| 最近记录: |