gpt4 book ai didi

python - 使用xlrd从xls获取 float

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:34 24 4
gpt4 key购买 nike

我正在开发一个 Python 脚本,它使用 xlrd 从 xls 文件中获取数据。但是,我无法弄清楚如何以与 Excel 文件中相同的精度打印 float 。

我尝试按照 https://stackoverflow.com/a/3481575/1296490 中的建议使用 repr但这仍然给出了与我想要的精度不同的精度。

例如,Excel 文件有一个值为 -1.62717010683527 的单元格,然后使用
str(worksheet.cell(i,j).value)返回 -1.62717010684,
repr( worksheet.cell(i,j).value) 返回 -1.6271701068352695
使用 str(Decimal(worksheet.cell(i,j).value)) 生成 -1.6271701068352695095187044671547482721507549285888671875

以上都没有给我来自 Excel 的原始值。我必须处理很多这样的数字,每个数字在点后都有不同的位数,不适合使用 %.10f

最佳答案

Excel 中的精度限制为 15 位有效数字。

使用 str( "%0.15g"% cell.value ) 实现你想要的:

g - 如果指数大于 -4 或小于精度,则与“e”相同,否则为“f”。
( http://docs.python.org/release/2.4.4/lib/typesseq-strings.html )

不要忘记 "%0.15" 中的 0.

关于python - 使用xlrd从xls获取 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com