IndexError: At least one sheet must be visible

源码

import pandas as pd


def create_excel_xls(path):
    writer = pd.ExcelWriter(path)
    writer.save()


create_excel_xls('/Users/bujinshidemao/Desktop/testExcel.xlsx')

报错

Traceback (most recent call last):
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/main.py", line 41, in <module>
    create_excel_xls('/Users/bujinshidemao/Desktop/testExcel.xlsx')
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/main.py", line 38, in create_excel_xls
    writer.save()
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/pandas/io/excel/_openpyxl.py", line 43, in save
    return self.book.save(self.path)
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/workbook/workbook.py", line 392, in save
    save_workbook(self, filename)
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/writer/excel.py", line 293, in save_workbook
    writer.save()
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/writer/excel.py", line 275, in save
    self.write_data()
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/writer/excel.py", line 89, in write_data
    archive.writestr(ARC_WORKBOOK, writer.write())
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/workbook/_writer.py", line 148, in write
    self.write_views()
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/workbook/_writer.py", line 135, in write_views
    active = get_active_sheet(self.wb)
  File "/Users/bujinshidemao/Project/PyCharmProject/TestProject/venv/lib/python3.9/site-packages/openpyxl/workbook/_writer.py", line 33, in get_active_sheet
    raise IndexError("At least one sheet must be visible")
IndexError: At least one sheet must be visible

错误原因

该代码仅为生成文件,但是对于文件的格式之类的未有定义,因此,需要使用DataFrame进行书写,把参数置为空,则写入后生成的是个空白的文件(但是有什么文件格式之类的了)

解决方案

import pandas as pd


def create_excel_xls(path):
    data_df = pd.DataFrame()
    writer = pd.ExcelWriter(path)
    data_df.to_excel(writer)
    writer.save()


create_excel_xls('/Users/bujinshidemao/Desktop/testExcel.xlsx')
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值