Pandas 에는 없는 read_tsv() 와 to_tsv() 함수 만들어 사용하기
다음과 같이 read_tsv()
또는 to_tsv()
함수를 따로 정의해 두고 사용할 수 있습니다. 이를 하나의 사용자 정의 모듈로 만들면 편하게 꺼내쓸 수 있습니다.
import pandas as pd
def read_tsv(filename, **kw):
_kw = dict(sep='\t')
_kw.update(kw)
df = pd.read_csv(filename, **_kw)
return df
def to_tsv(df, filename, **kw):
_kw = dict(sep='\t', index=False)
_kw.update(kw)
df.to_csv(filename, **_kw)
또는 functools 모듈을 이용하면 다음과 같이 단 2줄로 해결할 수도 있습니다. 그리고 해당 함수를 정의하는 위치를 pandas 라이브러리 내부에 둠으로써 기존에
CSV 파일을 읽을 때 pd.read_csv()
형태로 사용했듯이 TSV 파일을 읽을 때 pd.read_tsv()
형태로 사용할 수 있습니다. 마찬가지로 데이터프레임을
TSV 파일로 저장할 때에는 df.to_tsv()
형태로 사용할 수 있습니다.
from functools import partial, partialmethod
import pandas as pd
pd.read_tsv = partial(pd.read_csv, sep='\t')
pd.DataFrame.to_tsv = partialmethod(pd.DataFrame.to_csv, sep='\t', index=False)