Pythonでのcsvの扱い方

pythonでのcsvの読み込みをいつも忘れてしまうのでメモ.

csv libraryの場合

読み込み

1import csv
2
3with open("file.csv", "r") as f:
4    reader = csv.reader(f)
5    header = next(reader) # headerを飛ばす場合(headerがない場合は最初の行が飛ばされるので注意)
6    for row in reader:
7      print(row)

書き込み

1import csv
2
3with open("file.csv", "w") as f: # ファイルに追記したい場合は"w"の部分を"a"にする
4    writer = csv.writer(f, lineterminator=",")
5    header = next(reader) # headerを飛ばしたい場合(headerがない場合は最初の行が飛ばされるので注意)
6    for row in reader:
7      print(row)

numpyの場合

読み込み

1import numpy as np
2
3# csvファイルの場合
4data = np.loadtxt("file.csv", delimiter=",")
5
6# tsvファイルの場合
7data = np.loadtxt("file.tsv", delimiter="\t")

書き込み

1import numpy as np
2
3# csvファイルの保存
4np.savetxt("file.csv", x, delimiter=',')   # x is an array

pandasの場合

読み込み

1import pandas as pd
2
3df = pd.read_csv("file.csv")

書き込み

1import pandas as pd
2
3df.to_csv("file.csv") # df is a DataFrame

References

comments powered by Disqus