使用熊猫将独立的标头添加到csv文件

时间:2018-10-29 11:26:39

标签: pandas csv header

我有一个csv数据框,除了列之外,我想用一个额外的标题保存。熊猫必须读取没有标题的文件:

pd.read_csv('file.csv', header=2)

编辑csv文件后,我想用一个新的头文件将其保存,例如它应该看起来像这样:

no rows = 4
no cols = 3        
index, col1, col2, col3
0, A, B, C
1, D, E, F
2, G, H, I
3, J, L, M

但是to_csv函数中的header参数似乎根据文档(https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html)依赖于列作为别名。

标头会将每一行计为一个单元格,因此为1col x 2row df。我考虑过将两者追加,但由于列不相等,因此无法正常工作。有没有简单的方法可以将独立的标头添加到csv文件中?

我找不到有关此问题的帖子,我们将不胜感激!

1 个答案:

答案 0 :(得分:1)

因此,当您想将without标头读入熊猫时。做:

df = pd.read_csv('file.csv', header=None)

现在,在df中进行了各种处理之后,您可以按照以下选择分配column_names

col_list = ['col1','col2','col3']
df.columns = col_list

现在,使用df将此to_csv写回到csv:

df.to_csv('/new_file.csv', index=None, header=None)

您可以通过这样编写,将2行标题粘贴到此文件的顶部:

        with open('/new_file.csv', 'r+') as f:
        content = f.read()
        f.seek(0, 0)
        f.write('my_2-line_header' + '\n' + content)

希望这会有所帮助。