我正在尝试将csv文件转换为另一个文件(文件类型无关紧要,因为使用转换后的数据的程序只是像文本文件一样打开它).
到目前为止,我已设法将原始csv数据转换并打印到我想要的数据结构中,但我现在需要将其保存为另一个文件.
import csv
file = open('newData', 'w')
with open('initialData.csv', 'rb') as f:
reader = csv.reader(f, delimiter=',', quotechar='|')
for row in reader:
print row[13] + ' 1:' + row[0] + ' 2:' + row[1]
file.write(f)
file.close()
Run Code Online (Sandbox Code Playgroud)
每当我运行这个时,我都会收到错误:
TypeError: expected a character buffer object
Run Code Online (Sandbox Code Playgroud)
我知道转换csv文件没有任何问题,因为当我注释掉file.write(f)时打印正常.
提前谢谢了!
为什么要尝试将原始文件(f对象)写入新文件?你不想写重新格式化的数据吗?
import csv
with open('initialData.csv', 'rb') as f_in, open('newData', 'w') as f_out:
reader = csv.reader(f_in, delimiter=',', quotechar='|')
for row in reader:
print row[13] + ' 1:' + row[0] + ' 2:' + row[1]
f_out.write(row[13] + ' 1:' + row[0] + ' 2:' + row[1])
Run Code Online (Sandbox Code Playgroud)
编辑:根据Jon Clements的建议,使用上下文管理器输出以及缩进修复.
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |