2017-05-26 47 views
-3

我想創建一個存儲單個列的所有值的列表。 例如,假設我的文件有一個名爲'FirstNames'的列,前3行中'名稱'列有Merry,Pippin,Frodo。將CSV文件中的值存儲到python列表中

我想創建看起來像[風流,皮蓬,弗羅多]列表

我試圖做這樣的:

import pandas as pd 
data = pd.read_csv(".../TrainingFile.csv") 
list = [] 
names = data['FirstNames'] 

for i in range(0,2): 
    list.append(names[i:i+1]) 

print(list) 

但是,該列表不僅存儲值細胞和給我一個這樣的輸出:

名稱:姓,D型細胞:對象,1風流

名稱:姓,D型細胞:對象,2皮平

姓名:名字,dtype:object,3 Frodo

我該如何改變這種情況?謝謝您的幫助。

紅利:而不是範圍(0,2)如何定義範圍,以便通過文件中存在的行數?

+0

請在'for'循環後修正縮進。 –

回答

2

請千萬不要用保留字像listtypeid ......因爲,因爲屏蔽內置函數變量。

如果以後在代碼中使用list例如

list = data['FirstNames'].tolist() 
#another solution for converting to list 
list1 = list(data['SecondNames']) 

得到非常奇怪的錯誤和調試非常複雜。

所以需要:

L = data['FirstNames'].tolist() 

或者:

L = list(data['FirstNames']) 

還可以檢查Is it safe to use the python word 「type」 in my code

+0

我很快寫了這段代碼來問這個問題,但你說得對,注意!非常感謝您的幫助。 – memokerobi

+0

很高興能幫到你!經過幾個小時的調試後,我再也不會使用這個保留字;( – jezrael

+0

如果我的回答很有幫助,請不要忘記[accept](http://meta.stackexchange.com/a/5235/295067)它。謝謝。 – jezrael

-1

因爲您正在使用保留的變量名稱。 而不是使用列表,使用list1或別的東西作爲變量名稱。

python中保留的變量名很少:dict,str,list,int,通過等,我們錯誤地使用。儘量避免它。