質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

5243閲覧

ExcelWriterのto_excel()でエラー raise IndexError("At least one sheet must be visible")

LanternRains

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2020/05/10 11:59

編集2020/05/10 13:23
import pandas as pd import openpyxl aaaa = ['AAAAA','AAAA','AAA','AA','A'] ap_01 = [len(qq) for qq in aaaa] print(ap_01) iiii = "sososo" ap_len_pd = pd.DataFrame(ap_01, columns=[iiii]) ap_ww_pd = pd.DataFrame(ap_01, columns=[iiii]) print(ap_len_pd) saka = ['iwiwi','qoqo'] with pd.ExcelWriter('indas.xlsx', engine="openpyxl") as writer: for i in saka: ap_len_pd.to_excel(writer, sheet_name=i, index=False) ap_ww_pd.to_excel(writer, sheet_name=i, index=False)

上記だと上手くいくのですが、

import pandas as pd import openpyxl notation_list = ["A","B","C","D"] 色々あって exec(f"{ano_mp}_len_pd = pd.DataFrame(ai_02, columns=[ano_mp])") print(1) with pd.ExcelWriter('length_id_summary.xlsx', engine="openpyxl") as writer: for ano_pd in anotation_list: print(ano_pd) exec(f"ai_03 = {ano_pd}_len_pd") ai_03.to_excel(writer, sheet_name=ano_pd)

のようなスクリプトだと

raise IndexError("At least one sheet must be visible")
IndexError: At least one sheet must be visible

失礼いたしました。
以下エラー全文です

Traceback (most recent call last): File "/var/spool/ge/yc066i/job_scripts/17800332", line 54, in <module> nounal_len_pd.to_excel(writer, sheet_name='genome') File "/home/name/.local/lib/python3.6/site-packages/pandas/core/generic.py", line 2181, in to_excel engine=engine, File "/home/name/.local/lib/python3.6/site-packages/pandas/io/formats/excel.py", line 719, in write f"This sheet is too large! Your sheet size is: {num_rows}, {num_cols} " ValueError: This sheet is too large! Your sheet size is: 34430947, 1 Max sheet size is: 1048576, 16384 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/var/spool/ge/yc066i/job_scripts/17800332", line 66, in <module> all_no_len_pd.to_excel(writer, sheet_name='all_no') File "/home/name/.local/lib/python3.6/site-packages/pandas/io/excel/_base.py", line 777, in __exit__ self.close() File "/home/name/.local/lib/python3.6/site-packages/pandas/io/excel/_base.py", line 781, in close return self.save() File "/home/name/.local/lib/python3.6/site-packages/pandas/io/excel/_openpyxl.py", line 43, in save return self.book.save(self.path) File "/home/name/.local/lib/python3.6/site-packages/openpyxl/workbook/workbook.py", line 392, in save save_workbook(self, filename) File "/home/name/.local/lib/python3.6/site-packages/openpyxl/writer/excel.py", line 293, in save_workbook writer.save() File "/home/name/.local/lib/python3.6/site-packages/openpyxl/writer/excel.py", line 275, in save self.write_data() File "/home/name/.local/lib/python3.6/site-packages/openpyxl/writer/excel.py", line 89, in write_data archive.writestr(ARC_WORKBOOK, writer.write()) File "/home/name/.local/lib/python3.6/site-packages/openpyxl/workbook/_writer.py", line 148, in write self.write_views() File "/home/name/.local/lib/python3.6/site-packages/openpyxl/workbook/_writer.py", line 135, in write_views active = get_active_sheet(self.wb) File "/home/name/.local/lib/python3.6/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

というエラーが出て、最初のprint(1)は全て出力されており、pandasのDataFrameまでは大丈夫なのは確認したのですが、
ExcelWriterの部分で、prin(ano_pd)でAは出力されているのですが、それ以降が出力されていない状態です。出来たExcel fileも壊れていて開ません。

途方に暮れています。
お願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/05/10 12:57

エラーは全文掲載してください。(ユーザー名等は隠してもらって構いません)
LanternRains

2020/05/10 13:23

失礼いたしました。エラー全文掲載致しました。
LanternRains

2020/05/10 13:26

リストが ["A","B","C"・・・]ではなく ["nounal"・・・]のような状態のスクリプトの結果なので、一部ファイル名は異なっております。
guest

回答1

0

ベストアンサー

「ValueError: This sheet is too large! Your sheet size is: 34430947, 1 Max sheet size is: 1048576, 16384」とのエラーが出ています。
Saving big xlsx files pandas python
Ask Question

行数・列数はExcelの制限のようなので大きすぎるDataFrameはExcel出力できないみたいです。
Excel2016-2010 最大行数・最大列数は?

csv形式等で保存するか、シートを分けるなどの対応が必要でしょう。

投稿2020/05/10 13:42

meg_

総合スコア10760

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LanternRains

2020/05/10 14:09

有難うございました。本当に助かりました。原因が分かり幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問