PythonによるCSVファイルの読み書きメモ.
3. pandasによる方法 がおすすめです.
- Change log
2014/07/28 読み込み(Pandas)の追加.
2014/11/28 pandasを使う場合をまとめ.
1. 読み込み
Python documentation を参考にwith
文を使う.
import csv
with open('some.csv', 'r') as f:
reader = csv.reader(f)
header = next(reader) # ヘッダーを読み飛ばしたい時
for row in reader:
print row # 1行づつ取得できる
with
文を使わなくても,以下のように読み込める.
import csv
f = open('some.csv', 'r')
reader = csv.reader(f)
header = next(reader)
for row in reader:
print row
f.close()
この場合はclose
文をつける.
2. 書き込み
書き込みでもwith
文を使う.
import csv
with open('some.csv', 'w') as f:
writer = csv.writer(f, lineterminator='\n') # 改行コード(\n)を指定しておく
writer.writerow(list) # list(1次元配列)の場合
writer.writerows(array2d) # 2次元配列も書き込める
読み込みと同様にwith
なしでもOK.
import csv
f = open('some.csv', 'w')
writer = csv.writer(f, lineterminator='\n')
writer.writerow(list)
writer.writerows(array2d)
f.close()
3. pandasを使う方法(おすすめ)
pandasで読み込むとすっきりするし,便利な場合も多い.
import pandas as pd
df = pd.read_csv('some.csv')
print df # show all column
print df['A'] # show 'A' column
読み込んだDataFrameは書き込みも簡単.
df.to_csv('some2.csv')
使い方は pandasでよく使う文法まとめ@okadate - Qiita などを参考に.