将数字导出到Excel舍入错误



当我将数字从Python导出到Excel时,它们在Excel中被错误地四舍五入。例如,在Python中,数字是5.49(decimal.decimal(((,但当我将其导出到Excel时,它会四舍五入到5.5。我应该在代码中放入什么来防止这种情况发生?我希望它显示5.49,就像在Python中一样。

"将数字从python导出到excel">:虽然这听起来可能足够具体,但事实并非如此。它是否回答了以下任何问题?

  • 您使用哪个python库将数据从python导出到excel
  • 您如何评价excel将5.49记录为5.5
    • 您是否将excel数据保存为.csv文件以检查地面情况
    • 你检查了excel应该四舍五入到后面的小数位数吗?(⚠️很可能这就是你的情况(

检查以下的输出

使用文本编辑器打开两个文件(.csv和.xlsx(,而不是使用MS Excel来检查地面现实(。

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')

如果我们假设您在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()

你可以在这里的链接阅读更多。此处的积分

最新更新