関数を使用して Excel ファイルを pandas データフレームにインポートしていますpandas.read_excel()
。
列の 1 つはテーブルの主キーです。すべて数値ですが、テキストとして保存されます (Excel セルの左上にある小さな緑色の三角形がこれを示しています)。
ただし、ファイルを pandas データフレームにインポートすると、列は float としてインポートされます。つまり、たとえば、「0614」は 614 になります。
列をインポートするときにデータ型を指定する方法はありますか? CSV ファイルをインポートするときにこれが可能であることは理解していますが、の構文では何も見つかりませんでしたread_excel()
。
私が考えられる唯一の解決策は、Excel でテキストの先頭に任意の文字を追加し (「0614」を「A0614」に変換)、列がテキストとしてインポートされるようにしてから、Python で「A」を切り取って、SQL からインポートしている他のテーブルと一致させることです。
ベストアンサー1
コンバーターを指定するだけです。次の構造の Excel スプレッドシートを作成しました。
names ages
bob 05
tom 4
suzy 3
「ages」列は文字列としてフォーマットされています。読み込むには:
import pandas as pd
df = pd.read_excel('Book1.xlsx',sheetname='Sheet1',header=0,converters={'names':str,'ages':str})
>>> df
names ages
0 bob 05
1 tom 4
2 suzy 3