从 csv 文件读取时,熊猫会添加列
Posted
技术标签:
【中文标题】从 csv 文件读取时,熊猫会添加列【英文标题】:pandas add columns when read from a csv file 【发布时间】:2017-05-09 19:08:08 【问题描述】:我想使用 pandas read_csv
从 CSV 文件中读取数据。 CSV 文件没有列名。当我使用 pandas 读取 CSV 文件时,第一行默认设置为列。但是当我使用df.columns = ['ID', 'CODE']
时,第一行就消失了。我想添加,而不是替换。
df = pd.read_csv(CSV)
df
a 55000G707270
0 b 5l0000D35270
1 c 5l0000D63630
2 d 5l0000G45630
3 e 5l000G191200
4 f 55000G703240
df.columns=['ID','CODE']
df
ID CODE
0 b 5l0000D35270
1 c 5l0000D63630
2 d 5l0000G45630
3 e 5l000G191200
4 f 55000G703240
【问题讨论】:
How to add header row to a pandas DataFrame的可能重复 【参考方案1】:添加额外索引列的原因是因为 to_csv() 默认写入一个索引,因此您可以在保存 CSV 时禁用索引:
df.to_csv('file.csv', index=False)
或者你可以在阅读的时候指定一个索引列:
df = pd.read_csv('file.csv', index_col=0)
【讨论】:
【参考方案2】:您需要两个:header=None
和 names=['ID','CODE']
,因为您的 CSV 文件中没有列名/标签/标题:
df = pd.read_csv(CSV, header=None, names=['ID','CODE'])
【讨论】:
【参考方案3】:在函数调用中使用names
参数自己添加列:
df = pd.read_csv(CSV, names=['ID','CODE'])
【讨论】:
【参考方案4】:您可以在读取 csv 文件时将列名传递为:
df = pd.read_csv(csv_path, names = ["ID", "CODE"])
【讨论】:
【参考方案5】:我认为你需要read_csv
中的参数names
:
df = pd.read_csv(CSV, names=['ID','CODE'])
names:类数组,默认无
要使用的列名列表。如果文件不包含标题行,则应显式传递 header=None。除非 mangle_dupe_cols=True(这是默认设置),否则不允许在此列表中重复。
【讨论】:
以上是关于从 csv 文件读取时,熊猫会添加列的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何使用熊猫读取没有“未命名”行的 csv 文件? [复制]