np.savetxt 를 이용하여 특정 형식의 텍스트파일로 저장하기
조회수 1234회
import glob
import os
from tkinter import filedialog
import numpy as np
Root = filedialog.askdirectory()
FolderName = os.path.basename(Root)
FileList = os.listdir(Root)
RefHeight = [Folder for Folder in FileList if Folder.endswith('csv')]
for k in range(0, len(RefHeight)):
tempList = glob.glob1(Root, "*.csv")
tempList.sort()
RefHeightPath = Root + '/' + tempList[k]
RefHeight = np.genfromtxt(RefHeightPath, delimiter=",")[:, :-1]
amount = len(RefHeight) * len(RefHeight[0]) #행의 갯수와 열의 갯수의 곱
total = sum(RefHeight) # 행의 수치 총합
total_ave = sum(total) # 열과 행의 총합
np.savetxt(os.path.join(Root, 'csv_ave.txt'), (tempList[k], '=', total_ave / amount) , fmt='%s',delimiter = ",")
위 코드는 tkinter를 이용해 한 디렉터리를 불러서 이 디렉터리 안에 있는 여러가지 형태의 파일중에서 csv파일만 불러와서 평균 값을 출력하는 코드입니다.
출력까지는 성공했는데 이 값을 메모장에서 저장을 하고 싶은데 파일명=csv평균값
이 한줄에 입력되도록 코드를 짜고 싶은데 위와 같이 하면 단 하나의 값만 저장이 됩니다.
csv_ave.txt 텍스트 파일 안에 한줄씩 평균값이 출력되어 전부 저장되게 하려면 어떻게 코드를 수정하면 될까요?
예를 들어 Root폴더(filedialog.askdirectory() => tkinter로 불러온 폴더) 안에 csv파일이 3개 있다면
1. csv1 = 평균
2. csv2 = 평균
3. csv3 = 평균
이렇게 저장되기를 원합니다.
np.savetxt(os.path.join(Root, 'csv_ave.txt'), (tempList[k], '=', total_ave / amount) , fmt='%s',delimiter = ",")
이 부분이 수정되어서 어떠한 코드가 추가되거나 삭제 되어야 할것 같습니다.
댓글 입력