2015-08-20 114 views
-1

組我有這個CSV拆分CSV到基於價值

idSensor,ReadData 
1010,1459 
1010,1477 
1011,1307 
1011,1183 
1012,1050 
1012,1015 
1013,575 
1013,474 

,我想這個CSV轉換成這樣:

1010,1011,1012,1013 
1459,1307,1050,575 
1477,1183,1015,474 

你們能幫我改變我的CSV在Python或PHP語言?

+1

你能解釋一下爲什麼你的輸出必須是在T他的命令是什麼? –

+1

這不是適合本網站的問題; SO不是代碼寫入服務。您可以提交您嘗試解決問題的方法,並詢問您使用代碼時遇到的問題。 – saulspatz

+0

輸出必須按此順序,因爲我想將csv導入HighCharts。 –

回答

0

甲用於Python 2和Python 3.

使用OrderedDict到組中的第一列中的行由所述值,然後字典的鍵和值的一些巧妙zipping以產生所需的格式溶液:

data = [s.split(',') for s in '''1010,1459 
      1010,1477 
      1011,1307 
      1011,1183 
      1012,1050 
      1012,1015 
      1013,575 
      1013,474'''.split()] 

from collections import OrderedDict 
d = OrderedDict() 
for key, value in data: 
    d[key] = d.get(key, []) + [value] 

grouped_data = [row for row in zip(*[[k]+v for k,v in d.items()])] 
for row in grouped_data: 
    print(','.join(row)) 

輸出

 
1010,1011,1012,1013 
1459,1307,1050,575 
1477,1183,1015,474