python csv模块错误

12 投票
1 回答
7038 浏览
提问于 2025-04-16 15:30

当我使用Python的 csv 模块时,它给我显示了

"delimiter" must be an 1-character string"

我的代码是这样的

 sep = ","
 srcdata = cStringIO.StringIO(wdata[1])
 data = csv.reader(srcdata, delimiter=sep)

wdata[1] 是一个字符串来源。

我该如何解决这个问题呢?

1 个回答

31

你很可能在你的模块顶部有一行代码 from __future__ import unicode_literals,或者你正在使用 Python 3.x 及以上版本。你需要做类似下面的事情:

sep=b","  # notice the b before the "
srcdata=cStringIO.StringIO(wdata[1])
data = csv.reader(srcdata,delimiter=sep)

这行代码告诉 Python,你想把 "," 表示为字节字符串,而不是 Unicode 字符串。

撰写回答