我有一个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
无论我使用何种模式,我仍然会收到此错误。我需要了解原因。
答案 0 :(得分:0)
如果您传递的是对象或字符串或列表或其他内容,则无法打开它。 Python的open()用于打开文件或类文件对象。最好在StringIO中包装消息对象,将其转换为类文件对象。然后您可以使用csv模块来读取它。或者您可以通过调度程序将文件对象传递给csv模块本身,而不是您当前正在传递的任何内容。