import os : 운영체제와 상호작용할 수 있는 파이썬 라이브러리
os.getcwd() : 현재 파이썬이 실행되고 있는 경로 확인
os.listdir('./경로') : 경로 안에 있는 파일 리스트로 확인
os.listdir(') : 현재 경로에 있는 파일 확인file_ls = os.listdir('./경로') : 경로 안에 있는 파일 리스트를 file_ls 변수에 저장os.mkdir('경로+폴더명') : 경로에 새 폴더 생성
src : 처리할 데이터가 있는 경로
dst : 처리된 데이터를 저장할 경로
os.path.join(src, file_ls[0]) : 처리할 데이터가 있는 경로의 file_ls변수의 첫 파일명을 합쳐 경로 생성
for f in file_ls :
print(f'{f}를 처리하고 있습니다')
# 한글 인코딩
df = pd.read_csv(os.path.join(src, f), encoding = 'cp949')
# melting
cate_cols = list(df.columns[:3])
result = df.melt(id_vars = cate_cols,
var_name = '날짜',
value_name = '거래액')
# 함수 적용
result["거래액"] = result["거래액"].apply(strtoint)
# 합계빼기
result = result[result[result.columns[0]] != "합계"]
# 중간집계빼기
result = result[result[result.columns[2]] != '계']
# 가전,전자 / 통신기기 구분 빼기
result = result[result[result.columns[1]] == '소계']
# 컬럼 삭제
result = result.drop("상품군별(2)", axis = 'columns')
# 추정치를 의미하는 'p)' 빼기
result['날짜'] = result['날짜'].apply(lambda x : x.replace(" p)", ""))
# 연도처리 쉽게 하도록 기호 바꾸기
result['날짜'] = result['날짜'].apply(lambda x : x.replace(".", "/"))
# 데이터 저장
result.to_csv(os.path.join(dst, f), encoding = 'cp949', index = False)
print(f'{f} 완료')
# 현재 directory 반환
os.getcwd()
# 새로운 폴더 생성
os.mkdir(".경로+폴더명")
# 폴더, 파일 이름바꾸기
# 앞의 폴더를 뒤의 폴더명으로 바꾼다
os.rename("경로+현재 폴더명", "경로+바꿀 폴더명" )
# 폴더 또는 파일이 있는지 확인
## 출력 결과 : True or False
os.path.exists(".경로+폴더명")
# 빈 폴더 삭제
os.rmdir(".경로+폴더명")
# 확장자 분리 > 파일 타입으로 분리해낼 수 있음
## 출력 결과 : '경로+파일명', '.csv'
os.path.splitext('경로+파일명.csv')