gpt4 book ai didi

python - pandas 以格式化的方式读取 excel

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:37 26 4
gpt4 key购买 nike

如何获取格式化后的电子表格值?我正在使用货币格式处理电子表格

例如:

ITEM NAME UNIT PRICE
item1 USD 99
item2 SGD 45

但是术语“USD”和“SGD”是使用 excel 的格式化功能添加的,并且不会被 pandas 的 read_excel 函数看到。我会得到值,但不是货币名称。我只能按原样处理电子表格,鉴于我有各种电子表格,每个电子表格大约有 6-7 张,我希望有一个 pandas(或 python)级别的解决方案而不是 excel 级别的解决方案。

谢谢你们。

对丹尼尔来说,这就是我实现“xlrd”引擎的方式,它似乎没有做任何事情。

excel = pd.ExcelFile('itemlist.xlsx', sheetname=None)
master = pd.DataFrame(None)

for sheet in excel.sheet_names:
df = pd.read_excel(excel,sheet,header=2, engine='xlrd')
master=master.append(df)

最佳答案

没有什么好的方法可以做到这一点。 pandas 不知道数字格式,xlrd 似乎无法从 .xlsx 文件中读取格式 - 参见 here

您可以使用 openpyxl 来完成此操作,它至少可以访问数字格式,但看起来您基本上必须自己实现所有解析逻辑。

In [26]: from openpyxl import load_workbook

In [27]: wb = load_workbook('temp.xlsx')

In [28]: ws = wb.worksheets[0]

In [29]: ws.cell("B2") # numeric value = 4, formatted as "USD 4"
Out[29]: <Cell Sheet1.B2>

In [30]: ws.cell("B2").value
Out[30]: 4

In [31]: ws.cell("B2").number_format
Out[31]: '"USD "#'

关于python - pandas 以格式化的方式读取 excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38038428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com