コンテンツに影響を与えることができない Excel ファイルを受け取りました。「á」や「é」などの Unicode 文字が含まれています。
私のコードは変更されていませんが、Eclipse Juno から LiClipse に一緒に移行して、別の python パッケージ (2.5 から 2.6) に移行しました。原則として、私が使用している特定のパッケージには、win32com パッケージで動作するバージョンがあります。
Excel ファイルを読み取ると、str() を使用して抽出して文字列に変換するときにコードがクラッシュします。コンソール出力は次のとおりです。
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 89: ordinal not in range(128)
より具体的には、次のことを実行します。
エクセルを読む:
xlApp = Dispatch("Excel.Application")
excel = xlApp.Workbooks.Open(excel_location)
内部ループで、セルの値を抽出します。
cell_value = self.excel.ActiveSheet.Cells(excel_line + 1, excel_column + 1)
最後に、cell_value を str に変換しようとすると、クラッシュします。
print str(cell_value)
Excel にアクセスして非 ASCII 文字を削除すると、すべてがスムーズに機能します。このエンコードの提案を試しました。私がグーグルで検索した他の解決策は、ファイルを特定の形式で保存することを提案していますが、それはできません。
私を困惑させているのは、以前は同じ入力 Excel でコードが機能していたのに、この LiClipse と 2.6 Python への変更がすべてを殺してしまったことです。
どうすれば進歩できますか?