【发布时间】:2016-12-08 06:08:08
【问题描述】:
到目前为止,我一直在尝试将特定行(包括标题)从原始 csv 文件复制到新文件。但是,一旦我运行我的代码,它就会复制一团糟,创建一个巨大的文档。
这是我迄今为止尝试过的选项之一,似乎最接近解决方案:
import csv
with open('D:/test.csv', 'r') as f,open('D:/out.csv', 'w') as f_out:
reader = csv.DictReader(f)
writer = csv.writer(f_out)
for row in reader:
if row["ICLEVEL"] == "1":
writer.writerow(row)
问题是我必须只复制“ICLEVEL”(标题名称)的值等于“1”的那些行。
注意:test.csv 是一个非常大的文件,我无法硬编码编写器中的所有标题名称。
非常感谢任何 pythonic 方式的演示。谢谢。
【问题讨论】:
-
您是否遇到任何错误?你的解决方案发生了什么?
-
当我运行它时,它说“预期序列”并指向最后一行。但是,如果我选择 writer.writerow([row]) 就会变得一团糟。
-
你能举个csv数据的例子吗?