如何下载xlsm文件并读取python中的每一页?

2024-04-19 07:30:34 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我正在做以下工作。在

import xlrd

resp = requests.get(url, auth=auth).content
output = open(r'temp.xlsx', 'wb')
output.write(resp)
output.close()
xl = xlrd.open_workbook(r'temp.xlsx')
sh = 1
try:
    for sheet in xl.sheets():
    xls.append(sheet.name)
except:
    xls = ['']

它正在提取工作表,但我不知道如何读取文件,或者将文件保存为.xlsx是否真的适用于宏。我只知道代码现在不工作,我需要能够捕捉到在宏中生成的数据。请帮忙!谢谢。在


Tags: 文件importauthurloutputgetopenxlsx
1条回答
网友
1楼 · 发布于 2024-04-19 07:30:34

如果您想打开、修改和保存.xlsm文件而不损坏它们,我强烈建议使用xlwings。我尝试了很多不同的方法(使用其他模块,如openpyxl),但宏总是以损坏告终。在

import xlwings as xw
app = xw.App(visible=False) # IF YOU WANT EXCEL TO RUN IN BACKGROUND

xlwb = xw.Book('PATH\\TO\\FILE.xlsm')
xlws = {}
xlws['ws1'] = xlwb.sheets['Your Worksheet']

print(xlws['ws1'].range('B1').value)   # get value
xlws['ws1'].range('B1').value =  'New Value'   # change value

yourMacro = xlwb.macro('YourExcelMacro')
yourMacro()

xlwb.save()
xlwb.close()

Edit-我添加了一个选项,在用户请求时保持Excel不可见

相关问题 更多 >