熊猫:to_excel()float_format

elP*_*tor 5 excel formatting pandas

我正在尝试使float_format参数与pandas to_excel()函数一起使用,但似乎没有任何作用。

码:

df = pd.DataFrame({
        'date':['1/15/2016','2/1/2016','2/15/2016','3/15/2016'],
        'numA':[1000,2000,3000,4000.3],
        'numB':[10000,20000.2,30000,40000]
    })

writer = pd.ExcelWriter('c:/.../pandas_excel_test.xlsx', engine = 'xlsxwriter')

print df.dtypes

df.to_excel(writer, 
        index = False,
        float_format = '%.2f',
    )
Run Code Online (Sandbox Code Playgroud)

但是Excel文件看起来像这样:

在此处输入图片说明

我确认dtype为:

date     object
numA    float64
numB    float64
dtype: object
Run Code Online (Sandbox Code Playgroud)

有谁知道如何正确格式化浮点数to_excel()

Aks*_*ana 5

我相信Excel格式会更改浮点数的显示方式。我尝试了to_csv方法并float_format工作了。对于excel,告诉excel如何显示该列会有所帮助:

df = pd.DataFrame({
        'date':['1/15/2016','2/1/2016','2/15/2016','3/15/2016'],
        'numA':[1000,2000,3000,4000.3],
        'numB':[10000,20000.2,30000,40000]
    })

writer = pd.ExcelWriter('c:/.../pandas_excel_test.xlsx', engine = 'xlsxwriter')
df.to_excel(writer, index=False, sheet_name='Sheet1')
workbook  = writer.book
worksheet = writer.sheets['Sheet1']
format1 = workbook.add_format({'num_format': '0.00'})
worksheet.set_column('C:C', None, format1)  # Adds formatting to column C
writer.save()
Run Code Online (Sandbox Code Playgroud)

结果:

最终的excel结果

更多信息:http : //xlsxwriter.readthedocs.io/example_pandas_column_formats.html