2016-08-09 23 views
0

私が使用しているパッケージ(Openpyxl)のシートエラー例外をキャッチしようとしています。私はfrom openpyxl.utils import SheetTitleExceptionのような例外をインポートしようとしましたが、エラー"ImportError: cannot import name SheetTitleException"が発生します。 from openpyxl.utils import *でインポートしようとしたときに、エラーが発生しました。パッケージから例外をインポートするには(Openpyxl)?

私はそれを間違ってインポートしていると確信していますが、どこが間違っているのか分かりません。

Here is the documentation on exceptions for Openpyxl.

そして、ここで私は、例外をキャッチするために使用していたコードです:

try: 
    bdws = bdwb[finalBDSheetName] 
except SheetTitleException: 
    messageBox("Invalid sheet title. Check your sheet title and try again.") 
    return 
+0

それを使用し、その後

from openpyxl.utils.exceptions import SheetTitleException 

する必要がありますあなたはopenpyxlの周りにアプリケーションを構築しようとしているように思えます。パッケージの作者として、私はこれに反対することを強く勧めます。 –

+0

@CharlieClark理由を説明できますか?それはそれのために設計されていませんか? – RWA4ARC

+1

いいえ、ファイル形式を中心に設計されています。データ処理ワークフローYMMVのような機能を追加することはありません。 –

答えて

4

あなたが「openpyxl.utils.exceptions」と言うためにリンク先のページのタイトル。

したがって、あなたがやるべきこと:

from openpyxl.utils.exceptions import SheetTitleException 
+0

私はさらにそれを得ると思いますが、今は 'KeyError: 'ワークシートnotaworksheetnameは存在しません'と表示されます。例外が正しく捕らえられていませんか? – RWA4ARC

+0

@DouglasTrippeあなたは 'SheetTitleException'をキャッチしていますが、例外は' KeyError'です... – DeepSpace

+0

SheetTitleExceptionはシート名が無効で、行方不明ではないと思いますか?それは理にかなっている。 追加するには、 'KeyError'例外がありますか?私はそれをキャッチしようとしたので、私は同じエラーが発生しました。 編集:最初にKeyErrorを実行すると機能します。 – RWA4ARC

1

を、それは私がやったことを取り扱う他のモジュールの例外のようなものなら、それは

except SheetTitleException as e: 
    # do something 
関連する問題