使用 Pandas 向 csv 文件添加独立标题

Min*_*rny 5 python csv header dataframe pandas

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

pd.read_csv('file.csv', header=2)
Run Code Online (Sandbox Code Playgroud)

编辑 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
Run Code Online (Sandbox Code Playgroud)

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

标题会将每一行算作一个单元格,因此是 1col x 2row df。我想过附加这两个,但由于列不相等,它不起作用。有没有一种简单的方法可以将独立的标题添加到 csv 文件?

我找不到有关此问题的帖子,任何帮助将不胜感激!

May*_*wal 4

所以,当你想将文件without头读入 pandas 时。做:

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

现在,在完成所有类型的处理后df,您可以column_names根据您的选择进行分配,例如:

col_list = ['col1','col2','col3']
df.columns = col_list
Run Code Online (Sandbox Code Playgroud)

现在,df使用以下命令将其写回 csv to_csv

df.to_csv('/new_file.csv', index=None, header=None)
Run Code Online (Sandbox Code Playgroud)

您可以将两行标题粘贴到该文件的顶部,如下所示:

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

希望这可以帮助。