我有一个包含大量命名范围的Excel电子表格。我希望能够以有效的方式从他们那里获取数据。最好是在python字典中,以范围的名称为键,值作为值。或以某种方式制作一个伪工作簿,使我可以阅读工作表而无需所有对excel的调用。
现在,我分别从每个命名范围中获取值。这可以,但是非常慢。理想情况下,将进行一次或两次调用以获取所有命名范围。我目前正在使用@ xw.sub来获取值。
@xw.sub
def get_named_ranges():
wb = xw.Book.caller()
ranges = {}
ranges['MyNamedRange1'] = wb.sheets['sheet1'].['MyNamedRange1'].value
ranges['MyNamedRange2'] = wb.sheets['sheet1'].['MyNamedRange2'].value
ranges['MyNamedRange3'] = wb.sheets['sheet1'].['MyNamedRange3'].value
答案 0 :(得分:0)
您也许可以使用Pandas。
from pandas import *
xls = ExcelFile('test.xlsx')
df = xls.parse(xls.sheet_names[0])
print(df.to_dict())