[英]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(大寫range
和address
)
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.