2017-07-17 63 views
2

使用pandas.read_csv讀取數據時,是否可以避免自動命名空名稱的列(例如在「Unnamed:13」中產生)?熊貓:在讀取csv時不要重命名列

名行csv文件:

["name_1", "name_2", "Unnamed: 3", "name_4"] 

需要的名稱:

["name_1", "name_2", "", "name_4"] 
通過read_csv產生

name_1;name_2;;name_4 

名稱

+0

,你可以提供自己的姓名 –

+0

@PaulH:我想用的名字,因爲他們,只是保持一個空字符串時的名字是在csv中清空。 –

+0

所以你會有一堆空白的列名?這完成了什麼?您可以通過並重命名具有「未命名」的列並替換爲「」。 –

回答

0

您可以加載CSV後重命名列:

def rename(col): 
    if col.startswith("Unnamed: "): 
     return "" 
    else: 
     return col 

data.columns = [rename(col) for col in data.columns] 

我不會推薦它,你應該確保沒有開始,沒有實際列「無名」,但除此之外,這應該爲你工作。

0

後你讀它,你可以不喜歡

df.columns = [x if not x.startswith('Unnamed') else i for i,x in enumerate(df.columns)]

將與對應於該列的地方整數代替無名列。如果你真的希望它僅僅是空白的,你可以做

df.columns = [x if not x.startswith('Unnamed') else "" for x in df.columns]