我有一个文本文件,我想用熊猫阅读。后来我想以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)
我不确定为什么我的第一行被我的列名替换。
答案 0 :(得分:6)
header=0
表示“我希望标题取自我文件的0 th 行”。
您需要header=None
,这意味着“我的文件根本没有标题”。
注意,您可以将重命名脚本缩短为
df.columns = 'Column' + df.columns.astype(str)
其中就地修改列标题。
答案 1 :(得分:3)
您可以使用add_prefix
df.add_prefix('columns_')