【问题标题】:Add independent header to csv file with pandas使用 pandas 将独立标题添加到 csv 文件
【发布时间】:2019-04-02 07:52:01
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: python pandas csv dataframe header


    【解决方案1】:

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

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

    现在,在df 中进行各种处理后,您可以根据自己的选择分配column_names,例如:

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

    现在,使用to_csv 将此df 写回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)
    

    希望这会有所帮助。

    【讨论】:

    • @MinaBerny 既然答案有帮助,请也给它投票。谢谢。
    猜你喜欢
    • 2015-12-02
    • 2012-03-07
    • 2020-06-30
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    相关资源
    最近更新 更多