Opt*_*esh 2 python excel currency pandas
我有一个数据框,我最终要使用 to_excel 方法写入 excel。其中一列代表货币金额。目前它是浮动的,我要完成的是将其写为货币。 但是,重要的是 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)
Run Code Online (Sandbox Code Playgroud)
(当然,分别尝试这些,而不是一个接一个)。
你能帮忙吗?谢谢!:)
货币是 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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3851 次 |
| 最近记录: |