为啥 pandas to_csv 逗号分隔不起作用?

Posted

技术标签:

【中文标题】为啥 pandas to_csv 逗号分隔不起作用?【英文标题】:Why is pandas to_csv comma seperating not working?为什么 pandas to_csv 逗号分隔不起作用? 【发布时间】:2020-08-04 09:43:24 【问题描述】:

我有一个如下所示的数据框:

然后我希望使用 to_csv 将其保存为 csv 格式:

output_df.to_csv(output_name, sep = ',', index = False,  encoding='utf-8')

但是当我打开 csv 时,它看起来像这样:

如何正确分隔列?

【问题讨论】:

它有效,列用逗号分隔。您是否将其保存为 .csv?我认为你需要告诉你的电子表格程序它是一个 csv 【参考方案1】:

根据您使用的语言,csv 可以用,; 分隔。您的解释器中应该有一个选项,或者您可以尝试使用 ; 作为分隔符。

【讨论】:

谢谢!看起来像切换到';'这就是我需要做的! @RobinDavid 如果答案解决了您的问题,请接受 - 请参阅What should I do when someone answers my question?【参考方案2】:

众所周知,Excel csv 文件处理对区域设置敏感。长话短说,Excel 的一个实例期望 csv 文件具有默认使用的格式:无法指定分隔符或引用字符。

许多西欧国家使用分号 (;) 作为字段分隔符,因为逗号 (,) 是当地的小数分隔符。

因此,您应该使用; 作为 csv 分隔符,或者如果可以选择最好停止使用 Excel 处理 csv 文件。 LibreOffice 没有 Excel 提供的所有功能,但有一个更好的 csv 模块。

【讨论】:

以上是关于为啥 pandas to_csv 逗号分隔不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pandas to_csv() 中设置自定义分隔符?

使用 pandas 的 df.to_csv 方法不适用于空格作为分隔符

如何使用逗号将数字转换为千位分隔符? [复制]

使用逗号分隔符的表格排序不起作用

逗号分隔值在 PHP MYSQL 中不起作用 [重复]

在 SQL Server Compact 中加入逗号分隔值不起作用