在 to_csv 命令中选择 index=False 选项时,Excel 未打开 csv 文件
Posted
技术标签:
【中文标题】在 to_csv 命令中选择 index=False 选项时,Excel 未打开 csv 文件【英文标题】:Excel is not opening csv file when index=False option is selected in to_csv command 【发布时间】:2018-07-17 04:22:23 【问题描述】:您好,如果我这样做,我可以在 Windows 中导出并打开 csv 文件:
y.to_csv('sample.csv')
。
其中 y 是 pandas 数据框。
但是,此输出文件有一个索引列。我可以通过执行以下操作将输出文件导出到 csv:
y.to_csv('sample.csv',index=False)
但是当我尝试打开文件时显示错误消息:
“'sample.csv' 的文件格式和扩展名不匹配。该文件可能已损坏或不安全。除非您相信它的来源,否则不要打开它。仍然要打开它吗?”
y 样本:
【问题讨论】:
你能打印一个数据框的样本y
吗?
嗨,briancaffey,数据帧 k 与 y 相同,我也面临与数据帧 k 相同的问题。
如果在询问“是否仍要打开它?”时单击“是”怎么办?
csv 文件打开,但其中的数据框丢失,即使文件大小为 55mb。
请使用 Excel 以外的任何工具(任何命令行工具或编辑器)确认文件实际上是空的,而不是 Excel 隐藏了该列?如果文件大小为 55MB,则它不是空的。
【参考方案1】:
更改ID
列的名称。这是 Excel 识别的特殊名称。如果 CSV 第一列的第一个单元格是 ID
,Excel 将尝试将该文件解释为另一种文件类型。由于不排除索引时,ID列出现在第二列,就可以了。但是当您排除索引列时,ID
出现在第一列的第一个单元格中,Excel 会感到困惑。您可以更改列名,保留索引列,或更改数据框中列的顺序,以便ID
列不会首先出现。
【讨论】:
非常好,现在可以使用。我刚刚重命名了“ID”列。 @MadhukarJha:那么问题与问题所声称的不同。你能解决这个问题吗? 我已修改问题以更好地反映问题。如果您有更好的航向,请告诉我。我会做出相应的改变,让其他人也能受益。 此外,当第一列的前两个字母是 ID(例如“ID_COUNTER”)时,我遇到了这个问题。重命名列也有帮助。 我遇到了这个问题,第一列的名称为TABLE
(全部大写)以上是关于在 to_csv 命令中选择 index=False 选项时,Excel 未打开 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas to_csv,您可以使用.replace()抢先处理双引号转义问题[重复]