for문으로 폴더내에 모든 파일을 적용하고싶습니다..

조회수 346회

안녕하세요 제 코드는 다음과 같습니다.

import os
file_list = os.listdir('파일이 있는 경로')
file_list
# file_list에 실행시키고 싶은 파일 이름 저장(csv파일 입니다)
for i in file_list:
    data = pd.read_csv(f'파일이있는위치/{i}')
    max = data[['Screw Velocity','Eject Pos', 'Screw Pos', 'Back Flow', 'Extrude Torque', 'Inject             Pressure']].max()
    min = data[['Screw Velocity','Eject Pos', 'Screw Pos', 'Back Flow', 'Extrude Torque', 'Inject Pressure']].min()
    mean = data[['Screw Velocity','Eject Pos', 'Screw Pos', 'Back Flow', 'Extrude Torque', 'Inject Pressure']].mean()
    std = data[['Screw Velocity','Eject Pos', 'Screw Pos', 'Back Flow', 'Extrude Torque', 'Inject Pressure']].std()
    df = pd.DataFrame([max,min,mean,std])
    df_values = df.values
    datalist=[]
    datalist.append(df_values)
    data_array = np.array(datalist)
    data_reshape = data_array.reshape(1,24)
    c_file = pd.DataFrame(data_reshape)

# 여기까지는 한 파일에서 제가 원하는 칼럼들로부터 통계값을 추출하고 한 행으로 이어주는 코드입니다.

c_file = pd.DataFrame(data_reshape)
file_path = os.path.join('저장하고싶은 경로+파일이름 다르게', file)
c_file.to_csv(file_path)
# 여기까지는 파일이름을 각각 다르게 저장하는 코드입니다.

실행을 시켰더니 총 3개의 파일이 생성되어야하는데 file_list에서 마지막 순서 한개의 파일만 생성이 됩니다. ex) file_list=[1.csv, 2.csv, 3.csv] 라고 치면 마지막 3.csv만 파일이 생성됩니다.. 도와주세요..~!

1 답변

  • 현재 코드에서

    c_file = pd.DataFrame(data_reshape)
    file_path = os.path.join('저장하고싶은 경로+파일이름 다르게', file)
    c_file.to_csv(file_path)
    # 여기까지는 파일이름을 각각 다르게 저장하는 코드입니다.
    

    이 부분이 for문 밖에서 동작하는 것으로 보입니다. 혹시 for문 안에서 동작시켜 보시면 어떨까요?

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)