PythonでCSVファイルを読み込む方法
説明
PythonでCSVファイルを読み込む方法は大きく4つある: (1) 組み込みI/Oのみを使う、(2) 標準ライブラリのcsvモジュール、(3) pandas、(4) numpy。
코드
以下のようなCSVファイルを開いてみる。

組み込みI/O
csvファイルをテキストオブジェクトとして読み込む。
>>> x = open('3784.csv', 'r', encoding='utf-8')
>>> x
<_io.TextIOWrapper name='3784.csv' mode='r' encoding='utf-8'>
>>> for line in x: print(line)
...
a,가,1
b,나,2
c,다,3
d,라,4
csv
各行をリストとして取得する。
>>> import csv
>>> with open('3784.csv', newline="", encoding='utf-8') as f:
... reader = csv.reader(f)
... for row in reader:
... print(row)
...
['a', '가', '1']
['b', '나', '2']
['c', '다', '3']
['d', '라', '4']
pandas
CSVファイルをデータフレームとして読み込む。
>>> import pandas as pd
>>> df = pd.read_csv('3784.csv')
>>> type(df)
<class 'pandas.core.frame.DataFrame'>
>>> df
a 가 1
0 b 나 2
1 c 다 3
2 d 라 4
>>> print(df.columns)
Index(['a', '가', '1'], dtype='object')
numpy
すべての値が数値であればnumpyでも読み込める。numpy配列として読み込む。
>>> import numpy as np
>>> data = np.loadtxt('3784.csv', delimiter=",", encoding="cp949")
>>> type(data)
<class 'numpy.ndarray'>
>>> data
array([1., 2., 3., 4., 5., 6., 7., 8., 9.])
環境
- OS: Windows11
- バージョン: Python 3.10.11, pandas==2.2.3, numpy==1.26.4
