【问题标题】:How do you remove the column name row when exporting a pandas DataFrame?导出 pandas DataFrame 时如何删除列名行?
【发布时间】:2013-11-15 21:23:34
【问题描述】:

假设我将以下 Excel 电子表格导入数据框:

Val1 Val2 Val3
1     2    3 
5     6    7 
9     1    2

如何删除列名行(在本例中为 Val1, Val2, Val3),以便导出没有列名的 csv,仅导出数据?

我试过df.drop()df.ix[1:] 都没有成功。

【问题讨论】:

  • 'column name row' 称为'header'。大多数像to_csv() 这样的读/写命令都有一个选项header 来控制它,例如header = None

标签: python pandas csv dataframe header


【解决方案1】:

想出了一个办法:

df.to_csv('filename.csv', header = False)

这告诉 pandas 写一个没有标题的 csv 文件。你可以对 df.to_excel 做同样的事情。

【解决方案2】:

您可以使用 header=False 写入不带标头的 csv 并使用 index=False 不带索引。如果需要,您还可以使用sep 修改分隔符。

没有标题行的CSV示例,省略了标题行:

df.to_csv('filename.csv', header=False)

TSV(制表符分隔)示例,省略索引列:

df.to_csv('filename.tsv', sep='\t', index=False)

【讨论】:

    【解决方案3】:

    如果你传递 header=False,你会得到这个错误

    TypeError: Passing a bool to header is invalid. Use header=None 
    for no header or header=int or list-like of ints to specify the 
    row(s) making up the column names
    

    改为使用 header=None

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 2020-12-17
    • 2020-09-15
    • 2013-08-12
    • 2018-05-01
    • 2020-02-10
    相关资源
    最近更新 更多