将数字导出到excel不正确

up9lanfz  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(400)

**已关闭。**此问题需要调试详细信息。它目前不接受答案。
**想要改进此问题?**更新问题,使其位于堆栈溢出主题上。

两天前关门了。
改进这个问题
当我将数字从python导出到excel时,excel中的数字四舍五入错误。例如,在python中,数字是5.49(decimal.decimal()),但当我将其导出到excel时,它会四舍五入到5.5。我应该在代码中添加什么来防止这种情况发生?我希望它能像python一样显示5.49。

nbnkbykc

nbnkbykc1#

“将数字从python导出到excel”:虽然这听起来足够具体,但事实并非如此。它是否回答了以下任一问题?
您使用哪个python库将数据从python导出到excel?
您如何评估excel正在录制的内容 5.49 作为 5.5 ?
您是否将excel数据保存为 .csv 检查地面真实性的文件?
您是否检查了excel应舍入到后面数字的小数位数(⚠️ 最有可能发生在您的案例中)
检查以下各项的输出:
使用文本编辑器(而不是ms excel)打开两个文件(.csv和.xlsx),以检查地面真实性)。

import pandas as pd

df = pd.DataFrame({'x': [10.0, 5.49, 0.904], 'expected': ['10.0', '5.49', '0.904']})
df.to_excel('output.xlsx')
df.to_csv('output.csv')
tez616oj

tez616oj2#

如果我们假设您在pandas中有一个数据框,并且您会将其导出到excel而不进行舍入。您可以按如下方式从python格式化工作簿:

writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook  = writer.book
worksheet = writer.sheets['Sheet1']
format1 = workbook.add_format({'column_name': '#.##'})

# Set the format of your column but not the column width.

worksheet.set_column('A:A', None, format1)
writer.save()

你可以在这里的链接上阅读更多内容。这里的学分

相关问题