报错

XlwingsError: Your platform only supports the instantiation via xw.Book(json=...)

需求

在跨平台使用Python操作Excel的时候,使用什么模块是一个让人很头疼的问题.

  • pywin32模块只能在Windows模块上使用
  • openpyxl模块很多功能没有,包括操作VBA
  • pandas大多数功能都是没有的
  • xlwings在跨平台上支持还是不错的,这次试一下

但是报错如上…

原因

  • xlwings也可以在Linux模块跑,在官方文档中有说明,支持的前提是:电脑上有安装Office.如果没有,可以使用Office Online,也就是上面报错的问题,使用json方式处理,也就是网络中传输数据的方式
  • 但是似乎这种方式仅支持xlwings pro,也就是付费用户

结论

  • Linux上还是尽量不要考虑Excel相关操作吧
  • 如果需要简单的IO操作,也就是导出导入,用pandas模块
  • 如果需要格式等基础操作,可以考虑openpyxl模块
  • VBA操作仅限Windows模块,可以使用pywin32模块,也可以使用wlxings模块
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐