熊猫:在阅读csv

时间:2017-07-17 14:00:26

标签: python pandas

使用pandas.read_csv读取数据时,是否可以避免使用空名称自动命名(例如在“未命名:13”中)?

  • 实施例

csv文件中的名称行:

name_1;name_2;;name_4

read_csv生成的名称:

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

所需名称:

["name_1", "name_2", "", "name_4"]

2 个答案:

答案 0 :(得分:0)

您可以在加载CSV后重命名列:

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

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

我不推荐它,你应该确保没有实际的列以"未命名:"开头,否则这应该适合你。

答案 1 :(得分: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]