CSV格式设置为CtrlList

时间:2013-10-14 18:16:44

标签: csv wxpython listctrl

我有一个TextCtrl解析familuar csv格式,如:

"ID","X","Y","Z"
1,199,486.5,13
2,200,485.3,12

我做了一些正则表达式,然后重新加载我的CtrlList来查看更改。 您将csv格式转换为列表集,如:

[['ID', 'X', 'Y', 'Z'], ['2', '200', '485.3', '12'], ['1', '199', '486.5', '13']]

现在我在恭维:

datafile = open(message, 'r')  # message receiever from dispatcher 
datareader = csv.reader(datafile) 
data = [] 
for row in datareader: 
    data.append(row)   # Traceback - IOError: [Errno 22] invalid mode ('r') or filename

无论我使用何种模式,我仍然会收到此错误。我需要了解原因。

1 个答案:

答案 0 :(得分:0)

如果您传递的是对象或字符串或列表或其他内容,则无法打开它。 Python的open()用于打开文件或类文件对象。最好在StringIO中包装消息对象,将其转换为类文件对象。然后您可以使用csv模块来读取它。或者您可以通过调度程序将文件对象传递给csv模块本身,而不是您当前正在传递的任何内容。