【Pandas】csvファイルの読込、書き出し方法を紹介

Pandasではcsvファイルをデータフレームとして読み込んだり、データフレームをcsvファイルに出力することができます。

今回はそれら操作の方法について紹介します。

csvの読込

まずはpandasモジュールを読み込む必要があるので、import文でpandasを読み込みます。

csvの読込にはpd.read_csv()を用います。引数には必ずファイルのパスを指定します。相対パスでも絶対パスでも問題ありません。

実行すると、以下のようなデータが読み込まれます。

import pandas as pd

df = pd.read_csv("C:/Project/apple_stock.xlsx")
apple_stock.xlsx

エンコーディングの指定

pandasはデフォルトでUTF-8でのエンコーディングです。Shift-Jisなどで読み取りたい場合は引数にencoding=を指定します。

#cp932はshift-jisのこと
df = pd.read_csv("C:/Project/apple_stock.xlsx", encoding="cp932")

シートの指定

引数sheet_nameで読み込むシートを指定できます。シート名を文字列で指定することもできますし、0からの番号でシートを指定することもできます。デフォルトは0です(先頭シート)。

df = pd.read_csv("C:/Project/apple_stock.xlsx", sheet_name=0)

ヘッダーの有無

デフォルトでは1行目はヘッダーとみなされ、カラム名に割り当てられます。引数header=Noneとすることで、1行目もデータとして扱われるようになります。なお、カラム名には0からの連番が割り当てられます。

df = pd.read_csv("C:/Project/apple_stock.xlsx", header=None)
header=None

インデックス列の指定

引数index_colを指定することで、インデックスに割り当てる列を指定することができます。

df = pd.read_csv("C:/Project/apple_stock.xlsx", index_col=0)
index_col

csvの書き出し

続いてはデータフレームのcsvへの書き出しです。書き出しにはto_csv()を用います。引数には必ず出力先のパスをファイル名含めて渡します。

to_csv()はデータフレームに対して行うので、例ではdf.to_csv()となっています。

df.to_csv("C:/Project/output.xlsx")

シート名の指定

引数sheet_nameを指定することで、出力したシートの名前を変えることができます。

df.to_csv("C:/Project/output.xlsx", sheet_name="test")

エンコーディングの指定

引数encodingを指定することで、出力ファイルのエンコーディングを指定することができます。デフォルトではUTF-8です。

df.to_csv("C:/Project/output.xlsx",encoding="cp932")

Pythonでデータサイエンスするなら

Pythonでデータサイエンスをするなら、以下の書籍がおすすめです。Pandas、matplotlib、Numpy、scikit-learnといったデータサイエンスに必要なライブラリを、体系立てて一通り学ぶことができます。

ややお値段高めですが、これ1冊で十分という内容・ボリュームなので、損はしないと思います^^

初学者の方にはこちらもオススメです^^

まとめ

pandasからcsvの読み書きをする方法を紹介しました。今回紹介した以外にも便利なパラメータが多数用意されています。csvのデータセットをPythonで分析するケースはよくあるので、是非参考にしてみてください。

ではでは👋