openpyxl で、
wb = load_workbook('ファイル名.xlsx') としてファイルを読み込もうとしましたが、
keyError が発生します。中身を確認すると、
raise KeyError('There in no item named %r in the archive'% name)
KeyErro:"There is no item named'[Content_Types].xml'in the archive"
と出ますが、読み込むにはどうすればよいでしょうか?
ちなみに、一度上記のエクセルファイルを開いて、上書き保存してから、上記の読み込みをすれば
エラーは出ず読めるようになります。
一度保存をすることで、属性が設定されるような感じでしょうか?
分かる方がいらしたら教えたいただきたいです。
よろしくお願いします。
追記
「iQUAVIS」という市販のツールの中で作った表を、エクスポート機能で出力したものが .xlsx 拡張子で開けるようになります。python処理の目的は、出力ファイルの書式等の設定をpythonで後処理して、使えるようにしようとするものです。出力ファイルをそのまま読み込もうとすると上記のエラーになります。
もとのxlsxファイルはどのように作成されたものなのでしょうか?
xlsxファイルは実は内部にいろいろなファイルを含んていて、その少なくとも一つが足りないというエラーです。
なので、もとのxlsxファイルが不正なものの可能性があります。
たとえば、 xls ファイルの拡張子を xlsxに書き換えただけのものなど。
ご指摘ありがとうございます。情報が不足しておりました。
「iQUAVIS」という市販のツールの中で作った表を、エクスポート機能で出力したものが .xlsx 拡張子で開けるようになります。python処理の目的は、出力ファイルの書式等の設定をpythonで後処理して、使えるようにしようとするものです。出力ファイルをそのまま読み込もうとすると上記のエラーになります。
その情報は、質問を編集して質問の中に入れましょう。
Excelで作ったのでないとすれば、正しいxlsxフォーマットのものではないということなのだと思います。 それ以上のことはわからないので残念ですが回答できません。
だだ、Excelで読むことができるようなので、じつは odsなどの類似のフォーマットなのかもしれません。
回答1件
あなたの回答
tips
プレビュー