Skip to main content
 首页 » 编程设计

Python:如何从转换后的 csv 文件创建数据文件

2025年05月04日16小虾米

我正在尝试将一个 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() 

每当我运行它时,我都会收到错误:

TypeError: expected a character buffer object 

我知道转换 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]) 

编辑:按照 Jon Clements 的建议,对输出也使用上下文管理器 + 缩进修复。