xls/xlsx ファイルからデータを読み取り、db に挿入する関数を作成しています。しかし問題は、xls ファイルのセルからデータを読み取った後、値が float 型になることです。
以下は、xls ファイルからのサンプル データです。
Zip Zone
35096
31723 1
35963
36037 D 21
36849 HANDLE
私はfrom openpyxl.reader.excel import load_workbook
xlsファイルを読むために使用しています。これらの値をDBに挿入するときにZipおよびZone列から値を読み取った後、すべての数値は浮動小数点型になりますが、文字列として保存する必要があります。2 db を超える列の型はVARCHARです
また、ターミナルで xls ファイルから読み取った後、上記の 2 列の値を出力しました。結果は次のとおりです。
ジップ
==========
<type 'float'>
35096.0
==========
<type 'float'>
31723.0
==========
<type 'float'>
35963.0
==========
<type 'float'>
36037.0
==========
<type 'float'>
36849.0
ゾーン
==========
<type 'NoneType'>
==========
<type 'float'>
1.0
==========
<type 'NoneType'>
==========
<type 'unicode'>
D 21
==========
<type 'unicode'>
HANDLE
マイコード
try:
book = load_workbook(filename=file_path, use_iterators=True)
ws = book.worksheets[0]
except:
return 'Error message'
for row in (ws.iter_rows()):
zip = row[0].internal_value
zone = row[1].internal_value
その他の情報: Python 2.6 を使用しており、Ubuntu マシンでこれを解決する方法。