2017-05-05 108 views
4

這裏是我的例子:熊貓read_csv擺脫封閉雙引號

我第一次創建數據幀,並將其保存到文件

import pandas as pd 
df = pd.DataFrame({'col_1':[['a','b','s'], 23423]}) 
df.to_csv(r'C:\test.csv') 

然後df.col_1[0]回報['a','b','s']列表

後來我讀了它來自文件:

df_1 = pd.read_csv(r'C:\test.csv', quoting = 3, quotechar = '"') 

Now df_1['col_1'][0]返回"['a' 's']"一個字符串。

我想回到榜單。我與不同read_csv設置試驗,但至今沒有運氣

+3

CSV報告轉換不是爲了保存複雜的數據結構,而僅僅是表格式的數字/文本數據。 –

+0

@ juanpa.arrivillaga謝謝你,我通常會使用泡菜,但是因爲泡菜而忘記了,所以我不得不使用csv。 – user1700890

回答

6

你不會得到列表後面沒有一點工作

使用literal_eval到列表

import ast 

conv = dict(col_1=ast.literal_eval) 
pd.read_csv(r'C:\test.csv', index_col=0, converters=conv).loc[0, 'col_1'] 

['a', 'b', 'c'] 
+0

太棒了! ast模塊看起來非常有用。但它是python文檔中描述的最後一個,這是可惜的。 –