使用xlwings,无法调用api,系统Macos

本来是打算写个代码用来拆分Excel里的工作表为多个工作簿,但是无法调用api接口,提示如下:Traceback (most recent call last):
  File "/Users/junius/opt/anaconda3/lib/python3.7/site-packages/aeosa/appscript/reference.py", line 575, in __getattr__
    selectortype, code = self.AS_appdata.referencebyname()[name]
KeyError: 'Copy'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/Users/junius/opt/anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3418, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-4-def754fa3898>", line 10, in <module>
    i.api.Copy(Before = sheet_split.api)
  File "/Users/junius/opt/anaconda3/lib/python3.7/site-packages/aeosa/appscript/reference.py", line 577, in __getattr__
    raise AttributeError("Unknown property, element or command: {!r}".format(name)) from e
AttributeError: Unknown property, element or command: 'Copy'

 

所以我自己偷了个懒,用复制粘贴的办法做了

import xlwings as xw

workbook_name = '/users/junius/desktop/产品销售表.xlsx'
app = xw.App(visible=False, add_book=False)
workbook = app.books.open(workbook_name)
worksheet_name = workbook.sheets
for j in worksheet_name:
    workbook_new = xw.books.add()
    name = j.name
    worksheet_new = workbook_new.sheets.add(name=name)
    work_sheet = workbook.sheets[j]
    value = work_sheet.range('A1').expand('table').value
    worksheet_new['A1'].value = value
    workbook_new.save('{}.xlsx'.format(j.name))
app.quit()

 

望大神指点

{!r}".format(name)) from e,你看看这个代码在哪里,这行代码有问题。不认识{!r}

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y