2017-01-03 5 views
2

私はopenpyxlライブラリを使用してExcelファイルを読み込みます。OpenPyxlアクセスnumber_format

Excelファイルには、ドル値のセルがいくつか含まれています。

これらのセルにアクセスすると、openpyxlは整数を返します。

data = worksheet["G"][7].value #The type of "data" will be integer. 

ここで、ほとんどの場合、整数を返すことが望ましいことを理解しています。しかし、各セルには、セルの値にドル記号、カンマ、パーセント記号などのものが含まれている変数「number_format」が関連付けられています。

openpyxlのドキュメントでは、セル値を単に文字列として取得する方法については何も述べておらず、 "number_format"が適用されています。

私は特にnumber_formatコードのために私自身のパーサを書いたくありません。それは車輪を再発明するように聞こえる。私はこれに簡単な解決策があるように感じるが、私はまだそれを見つける必要がない。誰かがこれに対する解決策を知っていれば、あなたの意見は歓迎です。

答えて

2

セルの値は数値であり、これはopenpyxlが返す値です。Pythonでは "$ 2.45"は無意味です。私たちは日付と時刻を数値形式に基づいて変換します。あなたが何か他のことをしたいのなら、あなたはOOXMLの数値フォーマットのための独自のパーサを書く必要があります。

+0

"$ 2.45"のような値の場合、文字列よりも整数が有用であることを十分に理解しています。私は、openpyxlが/ option /を提供してこれを文字列としてアクセスすることを望んでいたので、私自身のパーサを書くことを再考する必要はありませんでした。私はこれがオプションではないので、私は実際にそれを書いたり、適切なライブラリを見つけなければならないと思っています。 –