pandasでExcelファイルを読み込み、DataFrameにセット
pandasでExcelファイルを読み込み、DataFrameにセットする方法を紹介します。
タイトル行のあるExcelファイルの読み込み
【Excleデータ:character.xlsx characterシート】
キャラクターID | 名称 | タイプ | 属性 | 形態 |
1978 | アシュリー | 妖精 | 水 | 契約 |
2355 | シャンゼリゼ | 妖精 | 水 | 進化 |
2495 | アーク | ドラゴン | 光 | 契約 |
タイトル行のあるExcelファイル(character.xlsx)。
【コード&実行結果】
import pandas as pd df = pd.read_excel('character.xlsx') print(df) print(df.shape) print(df.columns) print(df.index) <実行結果> キャラクターID 名称 タイプ 属性 形態 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約 (3, 5) Index(['キャラクターID', '名称', 'タイプ', '属性', '形態'], dtype='object') RangeIndex(start=0, stop=3, step=1)
【説明】
import pandas as pd
pandasを別名pdで利用出来るようにインポート。
df = pd.read_excel('character.xlsx')
ExcelファイルをDataFrameに読み込み。シート名を指定しない場合は、最初のシートが読み込まれる。
print(df) <実行結果> キャラクターID 名称 タイプ 属性 形態 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約
DataFrameに読み込んcsvデータがセットされている。
print(df.shape) <実行結果> (3, 5)
3行5列のDataFrameが作成されている。
print(df.columns) <実行結果> Index(['キャラクターID', '名称', 'タイプ', '属性', '形態'], dtype='object')
DataFrameの列名(カラム名)には、1行目がセットされている。
print(df.index) <実行結果> RangeIndex(start=0, stop=3, step=1)
DataFrameのインデックスには、0から始まる連番の行名(インデックス)がセットされている。
タイトル行のあるExcelファイルの読み込み(先頭から指定行分スキップ)
【Excleデータ:character.xlsx characterシート】
幻獣契約キャラクター一覧 | ||||
キャラクターID | 名称 | タイプ | 属性 | 形態 |
1978 | アシュリー | 妖精 | 水 | 契約 |
2355 | シャンゼリゼ | 妖精 | 水 | 進化 |
2495 | アーク | ドラゴン | 光 | 契約 |
タイトル行のあるExcelファイル(character.xlsx)。
【コード&実行結果】
import pandas as pd df = pd.read_excel('character.xlsx',skiprows=1) print(df) print(df.shape) print(df.columns) print(df.index) <実行結果> キャラクターID 名称 タイプ 属性 形態 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約 (3, 5) Index(['キャラクターID', '名称', 'タイプ', '属性', '形態'], dtype='object') RangeIndex(start=0, stop=3, step=1)
【説明】
import pandas as pd
pandasを別名pdで利用出来るようにインポート。
df = pd.read_excel('character.xlsx',skiprows=1)
Excelデータの先頭1行目は取り込みが不要なデータのため「skiprows=1」を指定して、1行目をスキップして2行目からExcelファイルをDataFrameに読み込み。シート名を指定しない場合は、最初のシートが読み込まれる。
print(df) <実行結果> キャラクターID 名称 タイプ 属性 形態 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約
DataFrameに読み込んcsvデータがセットされている。
print(df.shape) <実行結果> (3, 5)
3行5列のDataFrameが作成されている。
print(df.columns) <実行結果> Index(['キャラクターID', '名称', 'タイプ', '属性', '形態'], dtype='object')
DataFrameの列名(カラム名)には、2行目がセットされている。
print(df.index) <実行結果> RangeIndex(start=0, stop=3, step=1)
DataFrameのインデックスには、0から始まる連番の行名(インデックス)がセットされている。
タイトル行のないExcelファイルの読み込み
【Excleデータ:character.xlsx characterシート】
1978 | アシュリー | 妖精 | 水 | 契約 |
2355 | シャンゼリゼ | 妖精 | 水 | 進化 |
2495 | アーク | ドラゴン | 光 | 契約 |
タイトル行のないExcelファイル(character.xlsx)。
【コード&実行結果】
import pandas as pd df = pd.read_excel('character.xlsx', header=None) print(df) print(df.shape) print(df.columns) print(df.index) df1 = pd.read_excel('character.xlsx', header=None, \ names=('キャラクターID', '名称', 'タイプ', '属性', '形態')) print(df1) <実行結果> 0 1 2 3 4 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約 (3, 5) Int64Index([0, 1, 2, 3, 4], dtype='int64') RangeIndex(start=0, stop=3, step=1) キャラクターID 名称 タイプ 属性 形態 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約
【説明】
import pandas as pd
pandasを別名pdで利用出来るようにインポート。
df = pd.read_excel('character.xlsx', header=None)
csvデータに日本語が含まれるためパラメーターで「encoding=’shift-jis’」、csvデータにタイトル行がないためパラメーターで「header=None」を指定して、csvファイルをDataFrameに読み込み。
Excelデータにタイトル行がないためパラメーターで「header=None」を指定して、ExcelファイルをDataFrameに読み込み。シート名を指定しない場合は、最初のシートが読み込まれる。
print(df) <実行結果> 0 1 2 3 4 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約
DataFrameに読み込んcsvデータがセットされている。
print(df.shape) <実行結果> (3, 5)
3行5列のDataFrameが作成されている。
print(df.columns) <実行結果> Int64Index([0, 1, 2, 3, 4], dtype='int64')
DataFrameの列名(カラム名)には、0から始まる連番がセットされている。
print(df.index) <実行結果> RangeIndex(start=0, stop=3, step=1)
DataFrameのインデックスには、0から始まる連番の行名(インデックス)がセットされている。
df1 = pd.read_excel('character.xlsx', header=None, \ names=('キャラクターID', '名称', 'タイプ', '属性', '形態')) print(df1) <実行結果> キャラクターID 名称 タイプ 属性 形態 0 1978 アシュリー 妖精 水 契約 1 2355 シャンゼリゼ 妖精 水 進化 2 2495 アーク ドラゴン 光 契約
Excelファイル読み込み時にnamesパラメーターを指定して、DataFrameの列名をセットすることも出来る。
コメント