2

重複の可能性:
Excel ファイルの整数は float になりますか?

1984xlrd がタイプとして処理するを含む Excel スプレッドシートがあるnumberため、値が float として返されます1984.0。スプレッドシートに表示される元の値を string として取得したい"1984"。どうすればこれを入手できますか?

4

4 に答える 4

2

したがって、Excelの内部では、1984は10進数として格納されるため、1984.0は正しいです。数値の書式を変更して、1984.00などとして表示することもできます。

では、セルの書式を照会して、数値の書式が小数ではないことを確認する方法を尋ねていますか?その場合は、open_workbookのformatting_info=Trueパラメーターの使用を検討してください。

sheet = open_workbook('types.xls'、formatting_info = True).sheet_by_index(0)

http://www.python-excel.org/からpython-excel.pdfドキュメントに出くわしたことがありますか?xlrdとxlwtの使い方を学ぶのにとても良いチュートリアルです。残念ながら、彼らは言う:

open_workbookには、Excelファイルからフォーマット情報をロードするためのパラメーターがあることはすでに見てきました。これが行われると、すべてのフォーマット情報が利用可能になりますが、それがどのように表示されるかの詳細は、このチュートリアルの範囲を超えています。

于 2012-11-09T22:27:09.887 に答える
1

cell.ctype==xlrd.XL_CELL_NUMBERの場合

次に、Excelは1984をfloatとして保存しているため、Pythonで文字列に変換する必要があります

エクセルで

="1984"は文字列になります'1984は文字列になります、'は表示されないことに注意してください1984は#です

于 2012-11-09T22:09:37.987 に答える
0

数値の唯一の種類は float です。セルに添付された書式設定によって、セルが日付、小数、または整数のいずれを表すかが決まります。フォーマット文字列を調べると、数値がどのように表示されるかがわかります。

于 2012-11-09T22:07:33.077 に答える
-1

文字列フォーマットを使用:

"%d" % mynumber
>>> "%d" % 1984.0
'1984'
于 2012-11-09T22:03:26.423 に答える