【发布时间】:2020-05-12 20:39:10
【问题描述】:
我在 abc.xlxs 中有如下数据
date,qty,price,profitprice,sellprice
20200501,11,900,,20
使用 python 我希望输出为:
data,qty,price,profitprice,sellprice
20200501,11.00,900.00,,20.00
有人可以帮忙吗?
如何读取每列的值并添加数字格式并保存到 xlxs 文件?
【问题讨论】:
我在 abc.xlxs 中有如下数据
date,qty,price,profitprice,sellprice
20200501,11,900,,20
使用 python 我希望输出为:
data,qty,price,profitprice,sellprice
20200501,11.00,900.00,,20.00
有人可以帮忙吗?
如何读取每列的值并添加数字格式并保存到 xlxs 文件?
【问题讨论】:
import pandas as pd
df = pd.read_excel("initial.xlsx")
writer = pd.ExcelWriter("formatted.xlsx", engine = "xlsxwriter")
df.to_excel(writer, index=False, header=True)
workbook = writer.book
worksheet = writer.sheets['Sheet1']
format1 = workbook.add_format({'num_format': '0.00'})
worksheet.set_column('C:E', None, format1) # Adds formatting to columns C-E
writer.save()
我认为此处发布的其他两个答案不起作用,原因与询问 this question 的原因相同。
【讨论】:
df = df.astype({'price': float, 'profitprice': float, 'sellprice': float}) 或其他 2 个答案的解决方案适用于 csv
你可以在read_excel使用dtype参数:
pd.read_excel('abc.xlxs', dtype={'profitprice': float, 'sellprice': float})
【讨论】: