我有一个数据框,里面有几列数字。我想把它们导出为整数,但对于超过999的数字,要用逗号分隔符。
我可以做到这一点,但当它们被导出时,我无法操作这些数字,好像它们因为逗号而变成了字符串。
我试了一下,没有成功。
format_mapping={'Balance': '{:,.0f}'}
for key, value in format_mapping.items():
cash_tracker_df[key] = cash_tracker_df[key].apply(value.format)
我读了下面的内容才知道我现在的情况。
Python Pandas使用Dict Mapping对Dataframe中的每一列进行格式化处理。
https:/xlsxwriter.readthedocs.iotutorial02.html。
我用的是pandas和xlsxwriter。
任何帮助将是感激的。
你应该使用 num_format 属性时,定义格式。
import pandas as pd
df = pd.DataFrame({'A': [1,2,3,4,1000,1001,10000,10001]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
workbook = writer.book
worksheet = writer.sheets['Sheet1']
cellFormat = workbook.add_format({'num_format': '#,##'})
worksheet.set_column('A:A', 10, cellFormat)
writer.save()
输出。
最后,如果你想使用小数点分隔符,你应该使用
'num_format': '#,##.00'。
更多信息请看 此处