Pythonでcsvファイルを行ごとに読み込む(pandas)

ノウハウ
スポンサーリンク

 

 

csvファイルを扱うことができるPythonライブラリであるpandasでcsvファイルを行ごとに読み込む方法を備忘録として残しておきます。

 

目次

 

 

サンプルのcsvファイル

使い方をまとめる上で、以下の「sample.csv」という名称のcsvファイルをCドライブ直下に格納したことを想定します。

 

 

 

 

 

 

csvファイルを行ごとに読み込む

 

【サンプルコード】

##### 【csvファイルを行ごとに読み込む】 #####
import pandas

# csvファイルのロード
csvfile_path='C:/sample.csv'
dataframe = pandas.read_csv(filepath_or_buffer=csvfile_path,encoding="cp932")

# csvデータを行ごとに表示
for index, row in dataframe.iterrows():
    print(f'[index] type: {type(index)}, value: {index}')
    print(f'[row] type: {type(row)}, value: ↓')
    print(row)
    print('================================')

 

【実行結果】

[index] type: <class 'int'>, value: 0
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            1
物           いちご
価格          250
お店         ●×商店
購入日    2019/1/1
Name: 0, dtype: object
================================
[index] type: <class 'int'>, value: 1
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            2
物           リンゴ
価格          100
お店         ●×商店
購入日    2019/1/2
Name: 1, dtype: object
================================
[index] type: <class 'int'>, value: 2
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            3
物           ブドウ
価格          200
お店          △△店
購入日    2019/1/3
Name: 2, dtype: object
================================
[index] type: <class 'int'>, value: 3
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            4
物           みかん
価格           50
お店          △△店
購入日    2019/1/3
Name: 3, dtype: object
================================
[index] type: <class 'int'>, value: 4
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            5
物             桃
価格          200
お店        ××ストア
購入日    2019/1/4
Name: 4, dtype: object
================================
[index] type: <class 'int'>, value: 5
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            6
物      グレープフルーツ
価格          100
お店         ●×商店
購入日    2019/1/4
Name: 5, dtype: object
================================
[index] type: <class 'int'>, value: 6
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            7
物        パイナップル
価格          500
お店          △△店
購入日    2019/1/5
Name: 6, dtype: object
================================
[index] type: <class 'int'>, value: 7
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            8
物         さくらんぼ
価格          500
お店        ××ストア
購入日    2019/1/5
Name: 7, dtype: object
================================
[index] type: <class 'int'>, value: 8
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID            9
物           スイカ
価格          600
お店          △△店
購入日    2019/1/5
Name: 8, dtype: object
================================
[index] type: <class 'int'>, value: 9
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID           10
物          マンゴー
価格          300
お店         ●×商店
購入日    2019/1/6
Name: 9, dtype: object
================================
[index] type: <class 'int'>, value: 10
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID           11
物           バナナ
価格          250
お店        ××ストア
購入日    2019/1/7
Name: 10, dtype: object
================================
[index] type: <class 'int'>, value: 11
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID           12
物           メロン
価格          600
お店         ●×商店
購入日    2019/1/7
Name: 11, dtype: object
================================
[index] type: <class 'int'>, value: 12
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID           13
物             梨
価格          100
お店        ××ストア
購入日    2019/1/8
Name: 12, dtype: object
================================
[index] type: <class 'int'>, value: 13
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID           14
物           レモン
価格           50
お店          △△店
購入日    2019/1/8
Name: 13, dtype: object
================================
[index] type: <class 'int'>, value: 14
[row] type: <class 'pandas.core.series.Series'>, value: ↓
ID           15
物       キウイフルーツ
価格           50
お店          △△店
購入日    2019/1/8
Name: 14, dtype: object
================================

 

【説明】

  • pandasのDataFrameオブジェクトのiterrows()を使うことでcsvファイルを行ごとに読み取ることができます。
  • 返り値は インデックス名(行名)とその行のデータ(pandas.Series型)のタプル(index, Series)を取得できます。
  • iterrows()の詳細については本家のAPI仕様書を参照してください。

 

 

 

 

関連情報

 

【pandasライブラリのまとめ】

 

【Pythonライブラリのまとめ】

 

 

 

 

 

以上!

コメント

タイトルとURLをコピーしました