【Python】よく忘れるPandasによるCSV読み込み方法のパターン集

CSV登録されているデータをループ処理し、スクレイピングしていく際にCSVの読み込み方が問題になることがあります。
主に文字コードなどが原因になると思いますが、そこで役立つCSVの読み込み方を一覧化しておきます。
覚えきれませんからね…。
読み込むCSVはなんでもいいのですが、Python上でダミーデータが作れるとプログラムでエラーが出た時のテストにも便利です。
そのためダミーデータの作成方法もメモしています。

codecs — Codec registry and base classes — Python 3.9.7 documentation

PandasによるCSV読み込み|shift-jis

文字コードの指定読み込み、shift-jis版。
Windows環境からデータを受け取るとこの形式かと。

import pandas as pd

df = pd.read_csv('1m.csv', encoding='shift-jis')

print(df)
print(df.columns)

PandasによるCSV読み込み|utf-8

df = pd.read_csv('1m.csv', encoding='utf-8')
print(df)

PandasによるCSV読み込み|euc_jp

df = pd.read_csv('1m.csv', encoding='euc_jp')
print(df)

データの区切り文字を指定する方法

カンマ区切りの場合。

df = pd.read_csv('1m.csv', sep=',')
print(df)

ヘッダー(見出し)がないデータを読み込む場合

ヘッダーがあるデータでこの指定をすると、本来のヘッダーであった一行目がデータ一行目になり、ヘッダーとしては新しく連番のヘッダーが付与される。

df = pd.read_csv('1m.csv', header=None)
print(df)
0    1   2
0   NaN ID  Name
1   0.0 0   aq4bZUmJsA
2   1.0 1   98u4efc3pi
3   2.0 2   aOtVV3Jccb
4   3.0 3   R4ZXxjtqY8
... ... ... ...
96  95.0    95  P8UgtD3HtK
97  96.0    96  T8V9KLDKQs
98  97.0    97  pM8QhicUel
99  98.0    98  rOSK9raOYj
100 99.0    99  P1dJeTREPa
101 rows × 3 columns

インデックスを指定する

大量のデータを扱う際に、インデックス名を指定することがあります。

df = pd.read_csv('to_csv.csv', index_col=2)
print(df)
 Unnamed: 0  ID
Name        
aq4bZUmJsA  0   0
98u4efc3pi  1   1
aOtVV3Jccb  2   2
R4ZXxjtqY8  3   3
sQIobE08kz  4   4
... ... ...
P8UgtD3HtK  95  95
T8V9KLDKQs  96  96
pM8QhicUel  97  97
rOSK9raOYj  98  98
P1dJeTREPa  99  99
100 rows × 2 columns

PandasによるCSV読み込み|速度面の問題解決

後日