【Python】よく忘れるPandasによるCSV読み込み方法のパターン集 | ムノログ 合同会社ムジンケイカクプロのITノウハウブログ
Pythonと機械学習

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

python Pythonと機械学習

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読み込み|速度面の問題解決

後日