JuJuKwakKwak

python) 2번에 있는 내용을 복사해서 10번 내용에 붙이기 본문

Data Science/코드 관련 모음

python) 2번에 있는 내용을 복사해서 10번 내용에 붙이기

jujukwakkwak 2022. 12. 8. 18:24

데이터 불러오기

import os
import pandas as pd

csv02_list = [] # 파일 담는 리스트
for f_name in os.listdir('./가져올 폴더 이름_1'):
    if f_name.endswith('.csv'):
        csv_file02 = pd.read_csv(f'./가져올 폴더 이름_1/{f_name}', encoding='euc-kr')
        csv02_list.append(csv_file02)
        
csv10_list = [] # DataFrame 담는 리스트
f_name_list = [] # 파일 이름 담는 리스트
for f_name in os.listdir('./가져올 폴더 이름_2'):
    if f_name.endswith('.csv'):
        f_name_list.append(f_name)
        csv_file10 = pd.read_csv(f'./가져올 폴더 이름_2/{f_name}', encoding='euc-kr')
        csv10_list.append(csv_file10)

 

데이터 정렬하기

csv02_list_2 = [] # 정렬된 DataFrame 담는 리스트
for csv in csv02_list:
    csv02_list_2.append(csv.sort_values(by=['열 이름']))
    
csv10_list_2 = [] # 정렬된 DataFrame 담는 리스트
for csv in csv10_list:
    csv10_list_2.append(csv.sort_values(by=['열 이름']))

 

특정 열에 해당되는 값만 뽑기

fcltyid02_list = []
for csv in csv02_list_2:
    if 'fcltyID' in csv.columns:
        fcltyid02_list.append(csv['fcltyID'])
    elif 'fcltyid' in csv.columns:
        fcltyid02_list.append(csv['fcltyid'])
        
fcltyid10_list = []
for csv in csv10_list_2:
    if 'fcltyID' in csv.columns:
        fcltyid10_list.append(csv['fcltyID'])
    elif 'fcltyid' in csv.columns:
        fcltyid10_list.append(csv['fcltyid'])

 

컬럼명 통일시키기

for csv in csv02_list_2:
    col_list = csv.columns.tolist()
    for i, col in enumerate(col_list):
        if col == 'fcltyID':
            col_list[i] = 'fcltyid'
    csv.columns = col_list
    
 for csv in csv10_list_2:
    col_list = csv.columns.tolist()
    for i, col in enumerate(col_list):
        if col == 'fcltyid':
            col_list[i] = 'fcltyID'
    csv.columns = col_list

 

2번의 내용을 10번의 내용에 덮어씌우기

for i, ID in enumerate(fcltyid02_list):
    csv10_list_2[i]['fcltyID'] = ID

 

하나씩 csv로 저장하기

for i, csv in enumerate(csv10_list_2):
    csv.to_csv(f'./폴더 이름/{f_name_list[i][:-7]}_11.csv', encoding='euc-kr', index=False)