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')

版权声明:本文为m0_46278918原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。