首页 > 解决方案 > 使用空格作为 '000 分隔符导出金额

问题描述

我希望导出到 Excel 的所有金额都使用空格作为“000 分隔符”和“,”作为小数点。例如:“3 257 132,54”(欧洲通用数字格式)

我试图调整上提供的示例xlsxwriter.readthedocs.io

format1 = workbook.add_format({'num_format': '#,##0.00'})

如下

format1 = workbook.add_format({'num_format': '# ##0,00'})

我正在使用xlsxwriter文档中的代码。我刚刚修改了 '000 分隔符和小数点:

# Add some cell formats.
format1 = workbook.add_format({'num_format': '#,##0.00'})

# Set the column width and format.
worksheet.set_column('B:B', 18, format1)

我得到了一个非常令人惊讶的结果。上面提供的示例将在 Excel 中显示为:3257 132,54。几乎很好,但 '000 分隔符仅用于数千次,而不是数百万或数十亿。(注意:逗号作为小数分隔符可以正常工作)

有没有我错过的技巧?

标签: pandasformattingxlsxwriter

解决方案


为此,您只需要使用在 Excel 中使用的任何数字格式。可能类似于### ### ###.00(尽管它没有逗号表示小数):

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

format1 = workbook.add_format({'num_format': '### ### ###.00'})

worksheet.set_column('B:B', 18, format1)

worksheet.write(0, 1, 123.123)
worksheet.write(1, 1, 1234.123)
worksheet.write(2, 1, 12345.123)
worksheet.write(3, 1, 123456.123)
worksheet.write(4, 1, 1234567.123)
worksheet.write(5, 1, 12345678.123)

workbook.close()

输出:

在此处输入图像描述

您可以通过在 Excel 中设置它,然后在数字格式对话框的自定义部分检查它是什么来找到您需要的确切数字格式。


推荐阅读