기록하는 습관

[Numpy] 011. 파일 읽기&쓰기 (I/O) 본문

Python/Numpy

[Numpy] 011. 파일 읽기&쓰기 (I/O)

Avalla 2023. 8. 11. 18:29

Numpy Data i/o

import numpy as np

 

txt 파일 저장

np.savetxt(파일명, 배열, fmt=문자열형식, delimiter=구분자)

아래 예시 배열을 저장해보자.

array_save = np.arange(20).reshape(4,5)
print( array_save )
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]

fmt 값을 '%d'(정수)로 주지 않으면 실수 값으로 저장이 된다.

np.savetxt("./sample_tab.txt", array_save, fmt='%d', delimiter="\t")

아래와 같이 잘 저장됨을 확인하였다.

 

txt 파일 로드

np.loadtxt(파일명, dtype=데이터타입, delimiter=구분자)

array_load = np.loadtxt("./sample_tab.txt", dtype=int, delimiter="\t")
print(array_load)
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]

 

npy 파일 저장

np.save(파일명, 배열)

.npy 파일은 Numpy 전용 저장 형식이라 .txt파일처럼 메모장으로 열어서 데이터를 직접 확인할 수는 없다. 속도와 용량 측면에서 유리할 수 있다.

아래와 같이 배열을 저장하면 './sample_npy.npy' 파일이 생성된다.

array_save = np.arange(20).reshape(4,5)
print( array_save )
np.save("sample_npy", array_save)
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
array_load = np.load("sample_npy.npy")
print( array_load )
print( type(array_load) )
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
<class 'numpy.ndarray'>

위와 같이 배열 형식이 잘 로드된다.