0
파일을 반복하고 각 파일에 대해 4000+ (고정 숫자) 기능의 목록을 계산합니다. 이러한 기능은 함수에 의해 계산되고 다음과 같이 반환됩니다. numpy.array
파이썬에서 csv에 쓸 때 숫자를 제한합니다.
파일 당 한 줄 (각 줄은 4000+ 개 요소가있는 numpy.array
) 인 CSV 파일을 작성하려고합니다.
현재 csv
파이썬 라이브러리를 사용하고 있으며 내 배열이 반올림 되어도 (np.around
덕택에) CSV 파일에 숫자가 많은 숫자가 포함되어 있습니다. 0,302499999999999
대신
0,3025
의 난이 파이썬에서 floating points limitations에서 올 수 있습니다 알고 있지만, 나는이 문제를 방지 할 수있는 방법 (문자열로 작성하여?) 출력 파일이 있는지 알고 싶었다.
import numpy as np
import csv
for i in range(10) :
row = np.around(np.random.random(4000), decimals=5)
with open('output.csv', "ab") as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(row)
감사하고,'a'' 모드는'np.savetxt에 대한이 '? 귀하의 대안을 사용하여 나는 CSV에서 마지막'행'만 볼 수 있습니다. CSV는 마치'csv' 라이브러리에서''w ''모드를 사용하는 것처럼 쓰여집니다. – Julian
마지막으로'with open ('output.csv', "ab")를 fp로 사용하여 해결했습니다 : np.savetxt fp, row.reshape (1, row.shape [0]), fmt = '%. 5e', 구분 기호 = ',')'. 감사 ! – Julian
@ Julian : 유스 케이스에 더 잘 맞도록 내 대답을 업데이트했습니다. – fmarc