【发布时间】:2015-11-28 08:42:33
【问题描述】:
我正在尝试读取一个 CSV 文件,然后将读取的 CSV 写入另一个 CSV 文件。
到目前为止,这是我的代码:
import csv
with open ("mastertable.csv") as file:
for row in file:
print row
with open("table.csv", "w") as f:
f.write(file)
我最终想读取一个 CSV 文件写入一个带有附加数据的新 CSV。
当我尝试运行它时出现此错误。
Traceback (most recent call last):
File "readlines.py", line 8, in <module>
f.write(file)
TypeError: expected a character buffer object
据我了解,似乎我必须关闭文件,但我认为自动关闭它?
我不确定为什么我可以将字符串写入文本,但我不能简单地将 CSV 写入另一个 CSV,就像通过迭代复制它一样。
【问题讨论】:
-
你有什么问题?
-
现在,错误似乎更清楚了:您已经关闭了
file对象,因此,当您在f.write(file)行中再次需要它时,它已经关闭了! (再一次,你有一个缩进问题,这次print row是错误的) -
@Barranka:无论如何您都不能将文件对象写入另一个文件。他们想要跨行进行复制,而不是文件对象本身。
-
对于这个不具体的开放式问题,我深表歉意。