簡體   English   中英

Python Xlwings 執行問題

[英]Python Xlwings exceution Issue

我正在使用 xlwings 0.23.1 與 MS excel 365 一起工作。

但是當我執行以下代碼時:

import xlwings as xw

wb = xw.books.active
ws = wb.sheets('MySheet')
tbl = ws.api.ListObjects('MyTable') # or .ListObjects(1)
rng = ws.range(tbl.range.address) # get range from table address

df = rng.options(pd.DataFrame, header=True).value # load range to dataframe

上面的代碼停留在

 rng = ws.range(tbl.range.address) # get range from table address

並且不執行。

代碼取自: Read Excel Table headers with xlwings

我正在使用 Spyder IDE

使用我的本地安裝 xlwings 0.16.0,您的代碼可以工作; 但正如您在升級到 0.23.0 后描述的那樣失敗。 好像在某個版本之后,xlwings 嚴格區分xlwings object 和關聯的win32com object(一般用.api轉換)。

一個修復是改變線路從

rng = ws.range(tbl.range.address) # get range from table address

to(大寫rangeaddress

rng = ws.range(tbl.Range.Address) # get range from table address

對於win32com object,其 api 通常首字母大寫,而xlwings則全部小寫。 第三行ws.api中的代碼返回一個win32com object,然后是tbl ,因此.range.address會受到相應影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM