2014-05-21 22 views
0

我已經開始嘗試在python中實施基於案例的推理以用於向客戶推薦產品。 我需要保存到一個文件中的數據格式(這是一個電子表格的單元格的表示)將記錄保存爲來自python的CSV,並將多個值分配給每條記錄

OrderID|ItemID| 
O1  |i23 | 
     |i43 | 
     |i24 | 
O2  |i24 | 
     |i29 | 

等 我似乎無法找到這種格式採用CSV文件的任何信息。目前讀取的系統需要記錄中每行的訂單ID。而且我也沒有辦法保存在系統這樣返回的數據:

defaultdict(<type 'list'>, {'O1': ['i23', 'i43', 'i24 ']}) 

我已經經歷了documentation蟒CSV圖書館閱讀,但不能得到如何去這個的理解。任何幫助,提示,關於什麼數據類型來存儲信息的指針將不勝感激。

回答

1

這確實不是一個有效的CSV格式,但我們可以做手工的東西接近它。

with open('output.csv', 'w') as dest: 
    writer = csv.writer(dest) 
    for key, values in data.items(): 
     writer.writerow([key, values[0]]) 
     for value in values[1:]: 
      writer.writerow([None, value]) 
+0

感謝您的答覆,我已經試過類似的東西,但我只在Excel查看CSV文件中得到的,在一個小區內「O」和它旁邊的小區「1」? –

+0

我不知道你的「類似的東西」是什麼。你試過這個確切的代碼嗎? –

+0

對不起,我沒有我寫的代碼,但我已經完全試過這個代碼,它的行爲如上 –

0

正常工作對我來說:

In [2]: str = StringIO.StringIO() 

In [3]: import csv 

In [4]: wr = csv.writer(str) 

In [5]: wr.writerow(['a', [1, 2]]) 

In [6]: str.getvalue() 
Out[6]: 'a,"[1, 2]"\r\n' 
相關問題