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ライブラリのまとめ】
以上!
コメント