2011-04-11 160 views
12

当我使用蟒蛇csv模块,它让我蟒蛇CSV模块错误

"delimiter" must be an 1-character string" 

我的代码是这样的

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

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

我该如何解决这个问题?

+6

您可以发布您收到的实际错误消息吗? – multipleinterfaces 2011-04-11 18:00:55

+0

请回溯? – 2011-04-11 18:05:23

+1

你应该接受马哈茂德的答案 - 点击附近的复选标记。 – 2011-11-21 21:16:06

回答

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文字。

+1

yes ~~,thanks.sep = b“,”is ok ~~ – alwx 2011-04-11 19:05:43

+1

我现在得到TypeError:分隔符必须在Python 3.3下设置,而且“delimiter”必须是Python 3.2下的一个字符串。 – sbaechler 2014-02-01 12:56:22

+0

@sbaechler这里描述:https://stackoverflow.com/a/40842561/20571 – 2017-10-17 19:05:17