2012-12-08 42 views
0

我有以下格式的原始數據,其中記錄分隔符是〜,元素分隔符是|。如何解析python(pandas)中的分隔數據來創建DataFrame?

date|o|h|l|c|e|f~07-12-2012 09:15|5934.0000|5945.5000|5934.0000|5938.6500|1749606|1749606~07-12-2012 09:16|5939.1000|5941.8000|5936.3500|5941.8000|1064557|2814163 

現在我想這個數據解析爲大熊貓的數據幀,但我想,大熊貓數據幀的理解是關鍵的格式 - 列。所以基本上我能夠使用分割解析這個數據分爲三個行(「〜」)

date|o|h|l|c|e|f 
07-12-2012 09:15|5934.0000|5945.5000|5934.0000|5938.6500|1749606|1749606 
07-12-2012 09:16|5939.1000|5941.8000|5936.3500|5941.8000|1064557|2814163 

但是有沒有用,我可以把它分解列的基礎上,所以像如下圖所示,或API有沒有在大熊貓一個API,我可以直接用它來養活我的數據

date - 07-12-2012 09:15,07-12-2012 09:16 
o - 5934.0000,5939.1000 
h ..... etc 
l 
c 
e 
f 

回答

1

我不太清楚,如果這是你在找什麼:

s = 'date|o|h|l|c|e|f~07-12-2012 09:15|5934.0000|5945.5000|5934.0000|5938.6500|1749606|1749606~07-12-2012 09:16|5939.1000|5941.8000|5936.3500|5941.8000|1064557|2814163' 

rows = s.split ('~') 
d = {} 
keys = rows [0].split ('|') 
for key in keys: d [key] = [] 
for row in rows [1:]: 
    for idx, value in enumerate (row.split ('|')): 
     d [keys [idx] ].append (value) 

print (d) 
+0

賓果工程...這是我尋找 – Shakti

2

我期待,使這個使用更簡單,即:

df = read_table(path, sep='|', lineterminator='~') 

尋找出下一個大熊貓釋放:

http://github.com/pydata/pandas/issues/2457

編輯:這樣做是和大熊貓0.10

+0

這將是非常有用的 – Shakti

相關問題