如何防止 excel 将 int 转换为科学记数法?
How can I prevent excel from converting int into scientific notation?
我正在使用 python 从 API 中提取数据并将其存储在 pandas 数据框中。我以 CSV 格式导出数据框,当我使用 excel 打开它时,一些列(具有非常大的数字)被转换为科学计数法,我不希望这样。我希望数字保持整数格式。
我试过在 to_csv 命令中使用浮点格式选项,但也没有用。
这是我的导出命令:
df.to_csv("output.csv",index=False, float_format='{:f}'.format, encoding='utf-8',sep=',')
P.s:数字在 pandas 数据框中以整数格式可见。此外,当使用记事本打开 csv 文件时,数据会以正确的格式显示。
当前输出:
期望的输出:
Select 单元格 -> 右键单击 -> 设置单元格格式 -> 选择 'Number' 符号。
Python 正在正确地完成它的工作。 Excel由于列宽有限,默认使用科学计数法。上面的步骤告诉 Excel 不要那样做。
Excel 倾向于自动转换各种东西(大整数、字母数字代码如 1e2、任何看起来像日期的东西);在使用它处理数据时,这通常是个问题。
两个选项:
在Excel
中使用整数
我认为没有任何方法可以在 CSV 中为 Excel 提供整数,只能提供十进制数字(四舍五入,如您所见)和文本(这很难进一步分析) .
Excel内部可以存储大整数(最多9个quintillion);你应该能够使用像 OpenPyXl.
这样的库将它们直接写入 .xslx
但是,任何基于这些数字的公式都将很快再次使用小数,但会四舍五入并丢失精度。
避免使用Excel
由于您已经在使用 Python,您可以继续使用 Python 进行额外的分析;那么您就可以完全控制公式在每个阶段是使用整数还是小数(对于小数,还有多少小数位)。
这样做的好处是你可以完全控制;缺点是您可以完全控制...
我正在使用 python 从 API 中提取数据并将其存储在 pandas 数据框中。我以 CSV 格式导出数据框,当我使用 excel 打开它时,一些列(具有非常大的数字)被转换为科学计数法,我不希望这样。我希望数字保持整数格式。
我试过在 to_csv 命令中使用浮点格式选项,但也没有用。
这是我的导出命令:
df.to_csv("output.csv",index=False, float_format='{:f}'.format, encoding='utf-8',sep=',')
P.s:数字在 pandas 数据框中以整数格式可见。此外,当使用记事本打开 csv 文件时,数据会以正确的格式显示。
当前输出:
期望的输出:
Select 单元格 -> 右键单击 -> 设置单元格格式 -> 选择 'Number' 符号。
Python 正在正确地完成它的工作。 Excel由于列宽有限,默认使用科学计数法。上面的步骤告诉 Excel 不要那样做。
Excel 倾向于自动转换各种东西(大整数、字母数字代码如 1e2、任何看起来像日期的东西);在使用它处理数据时,这通常是个问题。
两个选项:
在Excel
中使用整数我认为没有任何方法可以在 CSV 中为 Excel 提供整数,只能提供十进制数字(四舍五入,如您所见)和文本(这很难进一步分析) .
Excel内部可以存储大整数(最多9个quintillion);你应该能够使用像 OpenPyXl.
这样的库将它们直接写入.xslx
但是,任何基于这些数字的公式都将很快再次使用小数,但会四舍五入并丢失精度。
避免使用Excel
由于您已经在使用 Python,您可以继续使用 Python 进行额外的分析;那么您就可以完全控制公式在每个阶段是使用整数还是小数(对于小数,还有多少小数位)。
这样做的好处是你可以完全控制;缺点是您可以完全控制...