gpt4 book ai didi

python - 在以正确的方式写入 Excel 之前,将 float 转换为 Pandas 中的货币

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:20 25 4
gpt4 key购买 nike

我有一个数据框,我最终使用 to_excel 方法写入 excel。其中一列代表货币金额。目前它是 float 的,我要完成的是将它写成货币。但是,重要的是 excel 会将列中的数据读取为货币,而不是字符串(因此,例如,您可以对该列执行计算)。

无论我尝试什么,excel 都会将该列读取为字符串。这是我试过的:

df['Monetary_Field'] = df['Monetary_Field'].map(lambda x: '$%2.0f' % x)
df['Monetary_Field'] = df['Monetary_Field'].map(lambda x: '${:20,.0f}'.format(x))
df['Monetary_Field'] = df['Monetary_Field'].map('${:,.2f}'.format)

(当然是分别尝试这些,而不是一个接一个地尝试)。

你能帮忙吗?谢谢! :)

最佳答案

货币是 Excel 中的一种格式,数据本身仍然表示为相同的数字。

如果您想控制 Excel 中的格式设置,您可以执行类似这样的操作,访问底层 XlsxWriter 对象并指定格式设置。我基于链接的博客文章,其中有更多的解释和示例。 http://pbpython.com/improve-pandas-excel-output.html

In [95]: writer = pd.ExcelWriter('out.xlsx')

In [96]: df.to_excel(writer, sheet_name='report')

In [97]: wb = writer.book

In [98]: ws = writer.sheets['report']

In [99]: money_fmt = wb.add_format({'num_format': '$#,##0'})

In [100]: ws.set_column('B:B', 12, money_fmt)
Out[100]: 0

In [101]: writer.save()

关于python - 在以正确的方式写入 Excel 之前,将 float 转换为 Pandas 中的货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31765295/

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