Python 使用xlwt编写单元格时如何使用本地化样式
我正在用Python的xlwt编写一个Excel电子表格,我需要使用“.”作为千位分隔符格式化数字,就像巴西葡萄牙语一样 我试过:Python 使用xlwt编写单元格时如何使用本地化样式,python,excel,localization,xlwt,Python,Excel,Localization,Xlwt,我正在用Python的xlwt编写一个Excel电子表格,我需要使用“.”作为千位分隔符格式化数字,就像巴西葡萄牙语一样 我试过: style.num_format_str = r'#,##0' 它将千位分隔符设置为,' 如果我尝试将num_format_str设置为“#.##0”,我会将数字格式化为1234.000,而不是1.234。如果我在OpenOffice中打开n个文档并格式化单元格,我可以将单元格的语言设置为“葡萄牙语(巴西)”,然后OpenOffice将显示格式代码为“#.##0”
style.num_format_str = r'#,##0'
它将千位分隔符设置为,'
如果我尝试将num_format_str设置为“#.##0”
,我会将数字格式化为1234.000,而不是1.234。如果我在OpenOffice中打开n个文档并格式化单元格,我可以将单元格的语言设置为“葡萄牙语(巴西)”,然后OpenOffice将显示格式代码为“#.##0”
,但我找不到将单元格语言设置为巴西葡萄牙语的方法
有什么想法吗?千位分隔符(以及小数点等)以独立于语言环境的方式记录在XLS文件中。分隔符是逗号。它的显示方式取决于用户的区域设置。OpenOffice calc允许用户覆盖默认区域设置(工具/选项/语言/区域设置)
使用xlwt,将num_格式_str写成“#,###.00”
,将数据写成float(“1234567.89”)
,如下所示:
import xlwt
b = xlwt.Workbook()
s = b.add_sheet('x')
style = xlwt.easyxf("", "#,###.00")
s.write(0, 0, 1234567.89, style)
b.save("locale_fmt_demo.xls")
使用OO Calc打开输出文件并尝试各种语言环境设置。我得到了这些结果:
English (Australia): 1,234,567.89
Portuguese (Brazil): 1.234.567,89
French (France): 1 234 567,89
千位分隔符(以及小数点等)以独立于区域设置的方式记录在XLS文件中。分隔符是逗号。它的显示方式取决于用户的区域设置。OpenOffice calc允许用户覆盖默认区域设置(工具/选项/语言/区域设置)
使用xlwt,将num_格式_str写成“#,###.00”
,将数据写成float(“1234567.89”)
,如下所示:
import xlwt
b = xlwt.Workbook()
s = b.add_sheet('x')
style = xlwt.easyxf("", "#,###.00")
s.write(0, 0, 1234567.89, style)
b.save("locale_fmt_demo.xls")
使用OO Calc打开输出文件并尝试各种语言环境设置。我得到了这些结果:
English (Australia): 1,234,567.89
Portuguese (Brazil): 1.234.567,89
French (France): 1 234 567,89
嗯,我明白了。看起来在OpenOffice中,我可以为每个单元格设置不同的区域设置,但不能在Excel中设置。我用三个单元格制作了一个文档,它们的编号和格式相同,但区域设置不同,并以.ods和.xls格式保存。.ods为每个单元格保留区域设置,但.xls将为所有单元格保留相同的区域设置。“所有单元格的.xls将具有相同的区域设置”--不,正如我所说,格式是以独立于区域设置的方式记录的。该文件没有“具有”区域设置。Excel根据用户的区域设置显示文件。嗯,我明白了。看起来在OpenOffice中,我可以为每个单元格设置不同的区域设置,但不能在Excel中设置。我用三个单元格制作了一个文档,它们的编号和格式相同,但区域设置不同,并以.ods和.xls格式保存。.ods为每个单元格保留区域设置,但.xls将为所有单元格保留相同的区域设置。“所有单元格的.xls将具有相同的区域设置”--不,正如我所说,格式是以独立于区域设置的方式记录的。该文件没有“具有”区域设置。Excel根据用户的区域设置显示文件。