본문 바로가기
판다스 강의(유튜브)/판다스를 이용한 엑셀 자동화 팁

[파이썬 엑셀자동화] 폴더내 모든 엑셀파일의 시트 모두 합치기

by 김판다t 2022. 2. 8.

파이썬과 판다스라이브러리의 전처리를 이용해 엑셀자동화를 해보는 강의입니다

지난 강의를 활용해 폴더내 모든파일의 엑셀시트 합치기를 해보는 강의입니다

 

 

 

혹시 지난강의 안보셨다면 지난강의부터 보고 오시는게 좋습니다

https://kimpanda.tistory.com/27

 

[파이썬으로 엑셀자동화] 엑셀시트 모두 합치기

파이썬과 판다스라이브러리의 전처리를 이용해 엑셀자동화를 해보는 강의입니다 간단한 엑셀자동화를 위한 첫걸음인 엑셀시트 합치기를 해보는 강의에요 위 강의를 보셨다면 아래 강의도 보

kimpanda.tistory.com

 

 

 

 

 

이번 강의입니다.

 

 

 

 

 

 

 

 

 

실습파일입니다

예제압축파일.zip
0.09MB

 

 

 

 

 

전체코드입니다

import pandas as pd
import os
import openpyxl

url = "C://엑셀투파이썬//" #파일이 담긴 폴더의 경로명
files = os.listdir(url) # 위 폴더의 모든 파일을 리스트로
df = pd.DataFrame([])
for j in files:
    sheet = openpyxl.load_workbook(url + j).sheetnames
    for i in sheet:
        df1 = pd.read_excel(url + j, sheet_name=i)
        df1["날짜"] = i #시트이름을 날짜열로 만들기
        df1["지점"] = j.split(".")[0] #파일이름을 확장자제거해서 지점열로 만들기
        df = pd.concat([df, df1])

df.to_clipboard(index=False)
df.to_excel("2.xlsx", index=False)

 

 

 

번외편인

피벗테이블 코드입니다

 

import pandas as pd
df.pivot_table("판매금액", index="날짜", columns="지점", aggfunc=sum)

 

 

번외로

시각화 코드입니다

pandas_bokeh가 없으시면 !pip install pandas-bokeh 하시면 됩니다. (언더바가 아님을 유의)

import pandas_bokeh
a = "딸기"
pdf1 = df.loc[df["상품명"].str.contains(a)]
pdf1 = pdf1.pivot_table("수량", index="날짜", columns="지점", aggfunc="sum")
cmap = ['crimson', "midnightblue", "skyblue"]
pdf1.plot_bokeh(kind="bar", legend="top_left", title=a, figsize=(400, 300), colormap=cmap)