当我将数字从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应该四舍五入到后面的小数位数吗?(⚠️很可能这就是你的情况(
- 您是否将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()
你可以在这里的链接阅读更多。此处的积分