Pandas DataFrame.to_csv() 不输出所有列

Posted

技术标签:

【中文标题】Pandas DataFrame.to_csv() 不输出所有列【英文标题】:Pandas DataFrame.to_csv() doesn't output all columns 【发布时间】:2019-05-07 21:50:37 【问题描述】:

我有一个大约 450 列的大型数据框。我需要将它导出到 csv,为此我使用下一个命令:

df.to_csv('output.csv', sep='\t', header=False, index=False, na_rep='null')

生成的文件缺少几个尾随列。 我尝试更新 pandas 显示选项,但这并没有解决问题:

pd.set_option('display.max_columns', None)
pd.set_option('display.max_colwidth', -1)
pd.set_option('display.width', None)

感谢任何帮助。


背景: 我需要将数据从一个数据库表导出到另一个,动态添加一列。我将数据导出到 csv,从中创建一个数据框,添加一列,然后需要再次将其导出到 csv 以导入到结果表中。

【问题讨论】:

为什么不能将数据框和列复制到新的df? 您是否尝试设置
来检查缺少哪些列?或者,尝试使用 并查看问题是否仍然存在。
当您将文件从 DB 导入 df 时可能会出错?或者您在导入时是否有正确数量的列,而最终导出时只会出错? 【参考方案1】:

事实证明,原始数据在某处有一个引号。 This answer 另一个问题帮助我解决了这个问题。我解决了这个问题:

pd.read_csv(file_obj, sep='\t', quoting=csv.QUOTE_NONE)

【讨论】:

以上是关于Pandas DataFrame.to_csv() 不输出所有列的主要内容,如果未能解决你的问题,请参考以下文章

pandas.DataFrame.to_csv:按列选择性地应用 date_format

Pandas DataFrame.to_csv() 不输出所有列

Pandas DataFrame.to_csv 引发 IOError:没有这样的文件或目录

pandas一些常用函数的使用和理解

使用 Pandas Excelwriter 写入 StringIO 对象?

5种常用格式的数据输出,手把手教你用Pandas实现