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 column_name, item in dataframe.iteritems():
    print(f'[column_name] type: {type(column_name)}, value: {column_name}')
    print(f'[item] type: {type(item)}, value: ↓')
    print(item)
    print('================================')

 

【実行結果】

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

 

【説明】

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

 

 

 

 

関連情報

 

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

 

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

 

 

 

 

 

以上!

コメント

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