究極ガイド: pandas で csv ファイルを読み取る方法
CSV (カンマ区切り値) ファイルは、データを保存する最も一般的な方法の 1 つです。
幸いなことに、pandas read_csv()関数を使用すると、Python で希望するほぼすべての形式の CSV ファイルを簡単に読み取ることができます。
このチュートリアルでは、 「data.csv」という名前の次の CSV ファイルを使用して、Python で CSV ファイルを読み取るいくつかの方法を説明します。
playerID,team,points 1,Lakers,26 2,Mavs,19 3,Bucks,24 4,Spurs,22
例 1: CSV ファイルを pandas DataFrame に読み込みます
次のコードは、CSV ファイルを pandas DataFrame に読み取る方法を示しています。
#import CSV file as DataFrame df = pd. read_csv ('data.csv') #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
例 2: CSV ファイルから特定の列を読み取る
次のコードは、CSV ファイルから「playerID」と「points」というラベルの付いた列のみを pandas DataFrame に読み取る方法を示しています。
#import only specific columns from CSV file df = pd. read_csv ('data.csv', usecols=[' playerID ',' points ']) #view DataFrame df playerID points 0 1 26 1 2 19 2 3 24 3 4 22
pandas DataFrame に読み込む列インデックスを指定することもできます。
#import only specific columns from CSV file df = pd. read_csv (' data.csv ', usecols=[ 0,1 ]) #view DataFrame df playerID team 0 1 Lakers 1 2 Mavs 2 3 Bucks 3 4 Spurs
例3:CSVファイルインポート時のヘッダー行の指定
場合によっては、ヘッダー行が CSV ファイルの最初の行ではないことがあります。
たとえば、ヘッダー行が実際には 2 行目に表示される次の CSV ファイルについて考えてみましょう。
random,data,values
playerID,team,points
1,Lakers,26
2,Mavs,19
3,Bucks,24
4,Spurs,22
この CSV ファイルを pandas DataFrame に読み取るには、次のようにheader=1を指定します。
#import from CSV file and specify that header starts on second row df = pd. read_csv ('data.csv', header= 1 ) #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
例 4: CSV ファイルをインポートするときに行をスキップする
CSV ファイルをインポートするときに、 skiprows引数を使用して行を簡単にスキップすることもできます。
たとえば、次のコードは、CSV ファイルをインポートするときに 2 行目を無視する方法を示しています。
#import from CSV file and skip second row df = pd. read_csv ('data.csv', skiprows=[ 1 ] ) #view DataFrame df playerID team points 0 2 Mavs 19 1 3 Bucks 24 2 4 Spurs 22
次のコードは、CSV ファイルをインポートするときに 2 行目と3 行目を無視する方法を示しています。
#import from CSV file and skip second and third rows df = pd. read_csv ('data.csv', skiprows=[ 1,2 ] ) #view DataFrame df playerID team points 1 3 Bucks 24 2 4 Spurs 22
例 5: カスタム区切り文字を使用して CSV ファイルを読み取る
場合によっては、CSV ファイルにカンマ以外の区切り文字が含まれている場合があります。
たとえば、CSV ファイルに区切り文字としてアンダースコアが含まれているとします。
playerID_team_points
1_Lakers_26
2_Mavs_19
3_Bucks_24
4_Spurs_22
この CSV ファイルをパンダに読み取るには、 sep引数を使用して、ファイルを読み取るときに使用する区切り文字を指定します。
#import from CSV file and specify delimiter to use df = pd. read_csv ('data.csv', sep=' _ ') #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
追加リソース
次のチュートリアルでは、他の一般的なパンダのタスクを実行する方法について説明します。
Pandasでテキストファイルを読み取る方法
Pandas で Excel ファイルを読み取る方法
Pandas で TSV ファイルを読み取る方法
Pandas で HTML テーブルを読み取る方法