python - csv模块python3.1

标签 python csv python-3.x

我在 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='')

关于python - csv模块python3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4334907/

相关文章:

Powershell:逐行读取文本文件并在 "|"上拆分

python - Scikit 学习(Python 3.5): Do I need to import a library to make this work?

python - 从文件的列表/行中收集所有其他字符串

python - 请求 GET 保存不完整的文件

python - 与 Paramiko 的无密码 SSH 连接在 SSH 工作的地方失败

csv - ubuntu 上的 Neo.ClientError.Statement.ExternalResourceFailed

python - 将新闻写入 CSV 文件(Python 3,BeautifulSoup)

python - Cython 编译错误 "Not allowed in a constant expression"

python - PyQt4 中的多个窗口?

python - 有效地序列化 JSON 对象