import os
os.getcwd()
os.listdir('./data')
os.mkdir('./data_result')
#source (처리할 데이터가 있는 경로)
src = '/content/drive/MyDrive/zerobase_sql분석/Chapter 1. 공공 데이터를 통한 시장 동향 이해/data'
#destination (처리된 데이터가 저장될 경로)
dst = '/content/drive/MyDrive/zerobase_sql분석/Chapter 1. 공공 데이터를 통한 시장 동향 이해/data_result'
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 = 'date'
, value_name = 'sales')
#함수 적용
result["sales"] = result["sales"].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['date'] = result['date'].apply(lambda x : x.replace(" p)", ""))
# 연도처리 쉽게 하도록 기호 바꾸기
result['date'] = result['date'].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("./1. market/test")
# 폴더, 파일 이름바꾸기
# 앞의 폴더를 뒤의 폴더명으로 바꾼다
os.rename("./1. market/test","./1. market/testtest" )
# 있는지 확인하기
os.path.exists("./1. market/test")
# 빈 폴더 삭제
os.rmdir("./1. market/testtest")
# 확장자 분리 > 파일 타입으로 분리해낼 수 있음!
os.path.splitext('/Users/jh/Documents/zerobase/1. market/data/1_온라인쇼핑몰 운영형태별 상품군별거래액.csv')