2015-11-17 47 views
-3

我有一個字典轉儲爲csv,如下所示。我如何將它轉換爲數據框 X,Y,SN作爲頭文件?我正在考慮寫一個for循環和利用拆分 但它似乎犯規很優雅,也沒有效率......將python dict或csv文件轉換爲數據幀

"49,42",001C0BA79A44 
"49,43",001C0BA79A46 
"49,40",001C0BA79A40 
"49,41",001C0BA79A42 
"67,22",001C0BA791E8 
"65,31",001C0BA7991E 
"67,23",001C0BA793BA 
"64,25",001C0BA79416 
"74,29",001C0BA79354 
"65,33",001C0BA79922 
"58,12",001C0BA78B2D 
"65,32",001C0BA79920 
"72,36",001C0BA79E08 
"49,31",001C0BA79525 
"65,51",001C0BA7A834 
"62,46",001C0BA7A729 
"49,30",001C0BA79523 
"66,40",001C0BA79F45 
"52,42",001C0BA7A07E 
"58,17",001C0BA78F49 
"52,40",001C0BA79A5E 
"52,41",001C0BA79A60 
"52,46",001C0BA7A0B8 
"52,44",001C0BA7A082 
"64,20",001C0BA791AD 
"55,29",001C0BA7963E 
"55,28",001C0BA7963C 
"69,48",001C0BA7A689 
"58,15",001C0BA78F45 
"55,21",001C0BA79136 
"55,20",001C0BA79134 
"55,23",001C0BA7913A 
"55,22",001C0BA79138 
"55,25",001C0BA794A1 
"55,24",001C0BA7949F 
+0

使用pandas.read_csv() – radar

回答

1

不要使用for循環,增加行到現有的數據幀是不是很有效。

def split(string): 
    return string.split(',', 1) 

df = pd.read_csv(file_path, header=None, names=['Cord', 'SN']) 
df['X'], df['Y'] = zip(*df.Cord.map(split)) 
df = df[['X', 'Y', 'SN']] 

請參閱文檔here

+0

熊貓閱讀器是否正確處理''45,65「,'格式?這可能會給讀者帶來問題。 – hpaulj

+0

錯過了。我編輯了答案來處理它們是單個字符串的事實。 – Batman