首页 > 解决方案 > 在没有列标题的情况下将文件加载到 Pandas DataFrame 中不起作用

问题描述

我有一个文本文件,我想用 pandas 阅读。稍后我想将该文本文件保存为 csv 格式,并且我还想在保存 csv 文件时添加列名。

当我的文件以 csv 格式保存时,第一行将替换为列名。这是我的代码

df = pd.read_csv('files.txt', delim_whitespace= True, header=0) 

d = dict(zip(df.columns[::],
         ['Column{}'.format(x) for x in range(len(df.columns[::]))]))

最后,我想重命名列名,一切正常,除了我的新列名替换了第一行

df = df.rename(columns = d)
df.to_csv('test.csv', index= 0)

我不确定为什么我的第一行被我的列名替换。

标签: pythonpandasdataframe

解决方案


header=0表示“我希望从文件的第 0 行获取标题

相反,您想要header=None,这意味着“我的文件根本没有标题”。


请注意,您可以将重命名脚本缩短为

df.columns = 'Column' + df.columns.astype(str)

这会就地修改列标题。


推荐阅读