使用空格作为'000分隔符导出金额

时间:2019-07-02 21:47:45

标签: pandas formatting xlsxwriter

我希望导出到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分隔符仅使用数千次,而不使用数百万或数十亿。 (nb:逗号作为小数点分隔符可以正常工作)

我错过了一个花招吗?

1 个答案:

答案 0 :(得分:1)

您只需要使用在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()

输出:

enter image description here

您可以找到所需的确切数字格式,方法是在Excel中进行设置,然后在数字格式对话框的自定义部分中检查其格式。