我正在使用 python 从 API 中提取数据并将其存储在 pandas 数据框中。我以 CSV 格式导出数据框,当我使用 excel 打开它时,一些列(有很大的数字)被转换为科学计数法,我不希望这样。我希望数字保持整数格式。我曾尝试在 to_csv 命令中使用浮点格式选项,但它也没有帮助。这是我的导出命令: df.to_csv("output.csv",index=False, float_format='{:f}'.format, encoding='utf-8',sep=',')Ps:数字在熊猫数据框中以整数格式可见。此外,当使用记事本打开 csv 文件时,数据会以正确的格式显示。当前输出:期望的输出:
2 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
Excel 倾向于自动转换各种东西(大整数、字母数字代码如 1e2、任何看起来像日期的东西);当使用它来处理数据时,这通常是一个问题。
两种选择:
在 Excel 中使用整数
我不认为有任何方法可以在 CSV 中为 Excel 提供整数,只有十进制数字(四舍五入,如您所见)和文本(很难进一步分析)。
Excel 可以在内部存储大整数(最多 9 个 quintillion);您应该能够将它们直接写入使用像OpenPyXl
.xslx
这样的库。但是,任何基于这些数字的公式都会很快切换到再次使用十进制数字,但会四舍五入并失去精度。
避免使用 Excel
由于您已经在使用 Python,因此您可以继续使用 Python 进行额外的分析;那么您就可以完全控制公式在每个阶段是使用整数还是小数(对于小数,还有多少小数位)。
这样做的好处是您可以完全控制;缺点是你可以完全控制......
ABOUTYOU
TA贡献1812条经验 获得超5个赞
选择单元格 -> 右键单击 -> 设置单元格格式 -> 选择“数字”符号。
Python 正在正确地完成它的工作。由于列宽有限,Excel 默认使用科学计数法。上述步骤告诉 Excel 不要那样做。
添加回答
举报
0/150
提交
取消