모든 csv 결합
import pandas as pd
import glob
# 합칠 CSV 파일이 있는 폴더 경로
folder_path = './데이터폴더/*.csv'
# 모든 CSV 파일을 읽어 리스트에 저장
csv_files = glob.glob(folder_path)
# 각 CSV 파일을 읽어서 리스트에 추가
dataframes = [pd.read_csv(file) for file in csv_files]
# 리스트의 모든 데이터프레임을 한 번에 합치기
combined_df = pd.concat(dataframes, ignore_index=True)
# 합쳐진 데이터프레임을 새로운 CSV 파일로 저장
combined_df.to_csv('파일이름.csv', index=False)
print('CSV 파일이 성공적으로 합쳐졌습니다.')
특정 열 삭제 후 결합
import pandas as pd
# 병합할 연도 설정
years = range(2017, 2022)
# 병합할 파일 이름 리스트
file_suffixes = [
'정상시평균속도_읍면동단위.csv',
'차량주행거리_읍면동단위.csv',
'추정교통량_읍면동단위.csv',
'평균속도_읍면동단위.csv',
'혼잡빈도강도_읍면동단위.csv',
'혼잡시간강도_읍면동단위.csv',
'혼잡시평균속도_읍면동단위.csv'
]
for year in years:
# 각 파일을 읽어오기
dataframes = [pd.read_csv(f"{year}년_{suffix}") for suffix in file_suffixes]
# 첫 번째 데이터프레임을 기준으로 병합 시작
merged_df = dataframes[0]
# 나머지 데이터프레임과 병합
for df in dataframes[1:]:
merged_df = merged_df.merge(df, on=[merged_df.columns[0], merged_df.columns[1], merged_df.columns[2]], how='outer')
# 특정 열('열이름')이 있으면 삭제
columns_to_drop = [col for col in merged_df.columns if '열이름' in col]
# 최종 결과를 연도별로 CSV 파일로 저장
merged_df.drop(columns=columns_to_drop, inplace=True)
merged_df.to_csv(f'{year}년.csv', index=False)
print('모든 연도의 병합이 완료되었습니다.')
'코드 및 쿼리문 > 코드 정리' 카테고리의 다른 글
두 행 병합 (0) | 2024.08.14 |
---|---|
.dbf 확장자 파일 .csv 파일로 변경 (0) | 2024.08.09 |
날짜 형식 (0) | 2024.07.11 |
자동 목차에 제목4(h4) 추가 (0) | 2024.07.10 |
마우스 모양 변경 및 클릭시 파동 효과 (0) | 2024.07.10 |