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

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

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

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

Python

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

Q&A

2回答

8925閲覧

エクセルデータの読み込みをしようとしたらKeyErrorが出る。

chaosVidar

総合スコア3

openpyxl

openpyxlは、Excel2007以降のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。

Python

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

0グッド

0クリップ

投稿2020/11/06 13:47

環境: Windows10 python3 jupyternote
pythonでexcelデータの読み込みをしたいのですが

import openpyxl
wb = openpyxl.load_workbook("data.xlsx")

で実行すると

KeyError Traceback (most recent call last)
<ipython-input-2-3206e7fd258d> in <module>
----> 1 wb = openpyxl.load_workbook("data.xlsx")

~\anaconda3\lib\site-packages\openpyxl\reader\excel.py in load_workbook(filename, read_only, keep_vba, data_only, keep_links)
312 reader = ExcelReader(filename, read_only, keep_vba,
313 data_only, keep_links)
--> 314 reader.read()
315 return reader.wb

~\anaconda3\lib\site-packages\openpyxl\reader\excel.py in read(self)
271
272 def read(self):
--> 273 self.read_manifest()
274 self.read_strings()
275 self.read_workbook()

~\anaconda3\lib\site-packages\openpyxl\reader\excel.py in read_manifest(self)
132
133 def read_manifest(self):
--> 134 src = self.archive.read(ARC_CONTENT_TYPES)
135 root = fromstring(src)
136 self.package = Manifest.from_tree(root)

~\anaconda3\lib\zipfile.py in read(self, name, pwd)
1462 def read(self, name, pwd=None):
1463 """Return file bytes for name."""
-> 1464 with self.open(name, "r", pwd) as fp:
1465 return fp.read()
1466

~\anaconda3\lib\zipfile.py in open(self, name, mode, pwd, force_zip64)
1501 else:
1502 # Get info object for name
-> 1503 zinfo = self.getinfo(name)
1504
1505 if mode == 'w':

~\anaconda3\lib\zipfile.py in getinfo(self, name)
1429 if info is None:
1430 raise KeyError(
-> 1431 'There is no item named %r in the archive' % name)
1432
1433 return info

KeyError: "There is no item named '[Content_Types].xml' in the archive"

と表示されてしまいます。
どこが悪いのか分からず八方塞がり状態です。
どなたかご教授お願いいたします。

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

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

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

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

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

guest

回答2

0

KeyError: "There is no item named '[Content_Types].xml' in the archive"

上のエラーメッセージがヒントになります。
エクセルファイル(data.xlsx)の中身は以下のような構成になっています。
イメージ説明

[Content_Types].xmlが存在しない、というエラーなので
エクセルで作ったファイルではないのでしょう。

投稿2020/11/06 15:49

technocore

総合スコア7225

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

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

0

そいつはExcelで作成した「Open Office XML」形式のファイルではなく、Libre OfficeやApache Open Officeで作成した「OpenDocument Spreadsheet」形式のファイルなのでは。openpyxlでは対応していません。

投稿2020/11/06 15:40

Daregada

総合スコア11990

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問