python - 如何下载 xlsm 文件并读取 python 中的每张表?

标签 python excel python-2.7 xlrd

现在我正在做以下事情。

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 是否实际上适用于宏。我所知道的是代码现在无法正常工作,我需要能够捕获宏中生成的数据。请帮忙!谢谢。

最佳答案

我强烈推荐使用 xlwings如果要打开、修改和保存.xlsm文件而不损坏它们。我尝试了很多不同的方法(使用其他模块,如 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()

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

关于python - 如何下载 xlsm 文件并读取 python 中的每张表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56226066/

相关文章:

python - 正则表达式删除非字母字符并保留空格

python - 导入错误: No module named connector

python-2.7 - 当我尝试在 CentOS 6 上进行 pip 安装时,为什么会出现语法错误?

Python 测试 : Simulate ImportError

python - 替换 Pandas 列中的值

excel - 将工作簿传递给 Access VBA 中的函数时出现错误 424

excel - 动态改变工作表标题

python - django 有没有办法在每个页面中包含一些模块

python - 如果数据框中大多数列相等,则 Pandas 设置值

excel - 如果 Excel 中的三列匹配,则返回一个值