Pandas read_excel() - PythonでExcelファイルを読み込む
pandasモジュールのread_excel()関数を使用して、ExcelファイルのデータをDataFrameオブジェクトに読み込むことができます。Excelシートを見ると、それは二次元の表になっています。DataFrameオブジェクトも二次元の表形式のデータ構造を表しています。
1. Pandas read_excel() の例
エクセルファイルに従業員と車の2つのシートがあるとしましょう。最上行にはテーブルのヘッダーが含まれています。
ここでは「従業員」シートのデータを読み取り、それを印刷する例を示します。
import pandas
excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Employees')
print whole sheet data
print(excel_data_df)
出力 :
EmpID EmpName EmpRole
0 1 Pankaj CEO
1 2 David Lee Editor
2 3 Lisa Ray Author
- 最初のパラメータはExcelファイルの名前です。
- sheet_nameパラメーターは、Excelファイルから読み取るシートを定義します。
- DataFrameオブジェクトを印刷すると、出力は二次元の表になります。それはExcelシートの記録に似ています。
2. エクセルシートの列ヘッダーのリスト
データフレームオブジェクトのcolumnsプロパティを使用して、列ヘッダーのリストを取得できます。
print(excel_data_df.columns.ravel())
出力 :
['EmpID' 'EmpName' 'EmpRole']
3. 列データの印刷
私たちは列データを取得し、それを値のリストに変換できます。
print(excel_data_df['EmpName'].tolist())
出力 :
['Pankaj', 'David Lee', 'Lisa Ray']
4. Pandasのread_excel()のusecolsの例
Excelファイルから読み込む列名を指定できます。これは、Excelシートのいくつかの列にのみ興味がある場合に便利です。
import pandas
excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])
print(excel_data_df)
出力 :
Car Name Car Price
0 Honda City 20,000 USD
1 Bugatti Chiron 3 Million USD
2 Ferrari 458 2,30,000 USD
5. ヘッダー行なしでExcelファイルを読み込む
Excelシートにヘッダー行がない場合は、ヘッダーパラメータの値をNoneとして渡してください。
excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Numbers', header=None)
もしヘッダー値を整数として渡すと、例えば3の場合、3行目はヘッダー行として扱われ、その次の行から値が読み取られます。ヘッダー行より前のデータは破棄されます。
6. Excelシートを辞書、CSV、およびJSONに変換する
DataFrameオブジェクトには、表形式のデータをDict、CSV、またはJSON形式に変換するためのさまざまなユーティリティメソッドがあります。
excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])
print('Excel Sheet to Dict:', excel_data_df.to_dict(orient='record'))
print('Excel Sheet to JSON:', excel_data_df.to_json(orient='records'))
print('Excel Sheet to CSV:\n', excel_data_df.to_csv(index=False))
出力 :
Excel Sheet to Dict: [{'Car Name': 'Honda City', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Price': '3 Million USD'}, {'Car Name': 'Ferrari 458', 'Car Price': '2,30,000 USD'}]
Excel Sheet to JSON: [{"Car Name":"Honda City","Car Price":"20,000 USD"},{"Car Name":"Bugatti Chiron","Car Price":"3 Million USD"},{"Car Name":"Ferrari 458","Car Price":"2,30,000 USD"}]
Excel Sheet to CSV:
Car Name,Car Price
Honda City,"20,000 USD"
Bugatti Chiron,3 Million USD
Ferrari 458,"2,30,000 USD"
7. 参考文献
- pandas read_excel() API ドキュメント

