1. ホーム
  2. python

[解決済み] Python pandas: Excel ファイルを読み込む際にデータ型を指定するには?

2022-12-08 17:48:21

質問

エクセルファイルをpandasのdataframeにインポートしています。 pandas.read_excel() 関数でインポートしています。

列の1つがテーブルの主キーです。すべて数字ですが、テキストとして保存されています(Excelのセルの左上にある小さな緑色の三角形がこれを確認します)。

しかし、私がファイルをpandasデータフレームにインポートしたとき、列はfloatとしてインポートされます。これは、たとえば、'0614' が 614 になることを意味します。

カラムをインポートする際にデータ型を指定する方法はありますか?CSV ファイルをインポートするときにこれが可能であることは理解しているのですが、以下の構文では何も見つけられませんでした。 read_excel() .

私が思いつく唯一の解決策は、Excel でテキストの先頭に任意の文字を追加して (「0614」を「A0614」に変換して)、列がテキストとしてインポートされていることを確認し、その後 python で「A」を切り取って、SQL からインポートしている他のテーブルと一致できるようにすることです。

どのように解決するのですか?

コンバータを指定するだけです。 以下のような構造の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