重複の可能性:
Excel ファイルの整数は float になりますか?
1984
xlrd がタイプとして処理するを含む Excel スプレッドシートがあるnumber
ため、値が float として返されます1984.0
。スプレッドシートに表示される元の値を string として取得したい"1984"
。どうすればこれを入手できますか?
重複の可能性:
Excel ファイルの整数は float になりますか?
1984
xlrd がタイプとして処理するを含む Excel スプレッドシートがあるnumber
ため、値が float として返されます1984.0
。スプレッドシートに表示される元の値を string として取得したい"1984"
。どうすればこれを入手できますか?
したがって、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ファイルからフォーマット情報をロードするためのパラメーターがあることはすでに見てきました。これが行われると、すべてのフォーマット情報が利用可能になりますが、それがどのように表示されるかの詳細は、このチュートリアルの範囲を超えています。
cell.ctype==xlrd.XL_CELL_NUMBERの場合
次に、Excelは1984をfloatとして保存しているため、Pythonで文字列に変換する必要があります
エクセルで
="1984"は文字列になります'1984は文字列になります、'は表示されないことに注意してください1984は#です
数値の唯一の種類は float です。セルに添付された書式設定によって、セルが日付、小数、または整数のいずれを表すかが決まります。フォーマット文字列を調べると、数値がどのように表示されるかがわかります。
文字列フォーマットを使用:
"%d" % mynumber
>>> "%d" % 1984.0
'1984'