2013-10-14 70 views
0

我有一個TextCtrl解析familuar csv格式,如:CSV格式CtrlList設置

"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']] 

現在我implimenting:

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

「ID」,「X」,「Y」,「Z」1,199,486.5,13 2,200,485.3,12這是調度對象它來自另一個實例的文件 – George

回答

0

如果你傳遞一個對象或一個字符串或一個列表或其他,那麼你不能打開它。 Python的open()用於打開文件或文件類對象。你會更好地包裝在StringIO中的消息對象以將其轉換爲類似文件的對象。然後你可以使用csv模塊來讀取它。或者,您可以通過調度程序將文件對象傳遞給csv模塊本身,而不是當前傳遞的文件對象。

+0

是的,這是有道理的。提示IOError。我會改變你的建議。 – George