Насколько мне известно, Xlsxwriter может быть лучшим пакетом для форматирования моих чисел с разделителем тысяч.Я много раз читал документы на xlsxwriter, все еще очень запутанно, думаю, у других может быть такая же проблема, поэтому я публикую свой вопрос здесь.У меня есть пандас dataframe DF_T_1_EQUITY_CHANGE_Summary_ADE, и я хочу экспортировать их в Excel и с форматирующим разделителем тысяч.
Row Labels object
Sum of EQUITY_CHANGE float64
Sum of TRUE_PROFIT float64
Sum of total_cost float64
Sum of FOREX VOL float64
Sum of BULLION VOL float64
Oil float64
Sum of CFD VOL object
Sum of BITCOIN VOL object
Sum of DEPOSIT float64
Sum of WITHDRAW float64
Sum of IN/OUT float64
dtype: object
фрейм данных DF_T_1_EQUITY_CHANGE_Summary_ADE очищен, за исключением того, что в первом столбце Метки строк - это объекты, остальные - все числа.Итак, я использую xlsxwriter для записи фрейма данных в Excel:
import xlsxwriter
num_fmt = workbook.add_format({'num_format': '#,###'}) #set the separator I want
writer = pd.ExcelWriter('ADE_CN.xlsx', engine='xlsxwriter')
DF_T_1_EQUITY_CHANGE_Summary_ADE.to_excel(writer, sheet_name='Sheet1')
workbook=writer.book
worksheet = writer.sheets['Sheet1']
worksheet.set_column('C:M', None, num_fmt)
writer.save()
Однако я не получаю разделитель тысяч, результат в Excel ниже:
Row Labels Sum of EQUITY_CHANGE Sum of TRUE_PROFIT Sum of total_cost Sum of FOREX VOL Sum of BULLION VOL Oil Sum of CFD VOL Sum of BITCOIN VOL Sum of DEPOSIT Sum of WITHDRAW Sum of IN/OUT
0 ADE A BOOK USD 778.17 517.36 375.9 37.79 0.33 0 0 0 1555.95 0 1555.95
1 ADE B BOOK USD 6525.51 403.01 529.65 35.43 14.3 0 0 0 500 -2712.48 -2212.48
2 ADE A BOOK AUD 537.7 189.63 147 12.25 0 0 0 0 0 0 0
3 ADE B BOOK AUD -22235.71 7363.14 224.18 2.69 9.16 0.2 0 0 5000 -103 4897
Может кто-нибудь предоставитьрешение, высоко ценится.