반응형
이번 포스트에서는 정말 간단하게 python에 pickle을 활용하여 데이터를 저장하고, 저장된 데이터를 불러오는 코드를 알아보겠습니다.
pickle은 파이썬의 모든 객체(object)에 대해서 있는 그대로 저장할 수 있는 모듈입니다. pickle은 객체를 바이너리 파일에 저장하기 때문에 아래와 같이 파일을 읽을 때 'wb', 'rb' 처럼 바이너리 형식을 사용해야 합니다.
pickle.dump / pickle.load
import pickle
temp_dict = {'name': 'S', 'id': 1}
# 데이터 저장
with open('filename.pkl', 'wb') as f:
pickle.dump(temp_dict, f, protocol=pickle.HIGHEST_PROTOCOL)
# 데이터 로드
with open('filename.pkl', 'rb') as f:
data = pickle.load(f)
위 코드를 활용하여 간단하게 dict 형태의 데이터를 'filename.pkl' 파일로 저장하고 불러올 수 있습니다.
여기서 한 주의할 점은 protocol 부분인데요, python 버전에 따라서 지원하는 protocol이 다릅니다.
따라서 본인이 사용하는 python 버전에 유의하여 파라미터를 사용해야 합니다. (python 2.x 버전에서는 protocol이 0~2까지만 지원된다고 합니다.)
추가적으로 pandas DataFrame도 아래의 코드를 활용해서 쉽게 데이터를 관리할 수 있습니다.
df.to_pickle / pd.read_pickle
import pickle
import pandas as pd
temp = pd.DataFrame({'a':[1], 'b':[2]})
# 데이터 저장
temp.to_pickle('filename.pkl')
# 데이터 로드
data = pd.read_pickle('filename.pkl')
반응형
'프로그래밍 > [ Python ]' 카테고리의 다른 글
[1-1] 코딩 인터뷰 (0) | 2020.11.17 |
---|---|
[Python] bisect (0) | 2020.08.24 |
[Python] 슬라이싱(slicing) 기본 (0) | 2020.08.18 |
[Python] 문자열 활용법 정리 (0) | 2020.08.18 |
[Python] Multiprocessing (프로세스 기반 병렬 처리) (7) | 2020.05.26 |