Skip to main content
 首页 » 编程设计

python之csv模块python3.1

2025年05月04日17java哥

我在 Python2.x 中使用以下内容;

import csv 
f = open('test.csv', 'wb') 
writer = csv.writer(f) 
writer.writerow((fpath, md5sum, size)) # <str>, <str>, <int> 

这没有任何问题。然而,当我在 Python3 中运行它时,我得到一个 TypeError。

writer.writerow((fpath, md5sum, size)) 
TypeError: write() argument 1 must be bytes or buffer, not str 

当然,将数据写出到一个以非二进制模式打开的文件就可以了,但我喜欢 Py3 中处理 Unicode 的方式,希望在写入文件之前专门对数据进行编码,并在写入文件时对其进行解码从中读取。

我该如何解决这个问题?

请您参考如下方法:

f = open('test.csv', 'w', encoding='utf-8', newline='')