logo

PythonでCSVファイルを読み込む方法 📂プログラミング

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