本記事ではPandasのDataFrameにcsvファイルを読み書きする方法を紹介します。
こんな人におすすめ
・PandasのDataFrameでcsvファイルを読み込みたい
・PandasのDataFrameをcsvファイルに書き込みたい
・ヘッダ行の行数を指定してPandasのDataFrameにcsvファイルのデータを読み込みたい
・文字コードを指定してPandasのDataFrameにcsvファイルのデータを読み込みたい
主なライブラリ
numpy
pandas
本ページで使用するライブラリをインポートするときは以下のコードを使用します。
import numpy as np
import pandas as pd
PandasのDataFrameでcsvファイルを読み込む
csvファイル(data1.csv)をPandasのDataFrameに読み込みます。
読み込むcsvファイル(data1.csv)の中身は以下となります。
No,name,price
1,aaa,10000
2,bbb,20000
3,ccc,30000
Pandasのread_csvを使うことで、PandasのDataFrameに読み込むことができます。
df1 = pd.read_csv('data1.csv)
print(df1)
# No name price
# 0 1 aaa 10000
# 1 2 bbb 20000
# 2 3 ccc 30000
PandasのDataFrameをcsvファイルに書き込む
Pandasのto_csv関数を使うことで、PandasのDataFrameをcsvファイルに書き込むことができます。
df1.to_csv('data2.csv')
タブ区切りのtsvファイルを作成することも可能です。
区切り文字をタブにする場合は、以下のようにsepに’\t’を指定します。
df1.to_csv('data2.tsv', sep='\t')
ヘッダ行の行数を指定してPandasのDataFrameにcsvファイルのデータを読み込む
ヘッダ位置を指定してcsvファイルをDataFrameに読み込むときには、headerの引数を使います。
1行目に余分なデータが含まれるdata3.csvを読み込む例を使って引数の使い方を見ていきます。
データここから
No,name,price
1,aaa,10000
2,bbb,20000
3,ccc,30000
下のコードでは、2行目のデータをヘッダとして読み込むためにheader=1を指定します。
df3 = pd.read_csv('data3.csv', header=1)
print(df3)
# No Name Price
# 0 1 aaa 10000
# 1 2 bbb 20000
# 2 3 ccc 30000
文字コードを指定してPandasのDataFrameにcsvファイルのデータを読み込む
文字コードを指定してPandasのDataFrameにcsvファイルのデータを読み込む場合、encoding引数を指定します。
df4 = pd.read_csv("data4.csv", encoding="utf_8")