시트합치기
https://www.youtube.com/watch?v=5NBAtp-kTWY&t=484s
import pandas as pd
# sheet_name을 넣지 않게 되면 첫번째 시트를 기본값으로 불러오지만,
# None으로 지정하게 되면 모든 시트를 불러와준다.
data = pd.read_excel("sheetEXAMPLE.xlsx", sheet_name=None)
sheets = list(data.keys())
df = pd.DataFrame([])
for i in sheets:
df1 = pd.read_excel("sheetEXAMPLE.xlsx", sheet_name=i)
df1["날짜"] = i
df = pd.concat([df,df1])
import os.path
import openpyxl as xls
target_file = "result.xlsx"
if os.path.isfile(target_file):
# openpyxl 엑셀파일 초기화 ##############################################################
wb = xls.load_workbook(target_file)
ws = wb["data"]
if ws["A2"].value != None:
ws.delete_rows(2, ws.max_row-1) # 제목줄은 그대로 두고, 2행부터 마지막행까지 삭제 (삭제할 행갯수=max_row-제목줄1)
wb.save(target_file)
#########################################################################################
with pd.ExcelWriter(target_file, mode='a', engine='openpyxl', if_sheet_exists='overlay') as w:
df.to_excel(w, sheet_name='data', index=False, header=False, startrow=1)
else:
with pd.ExcelWriter(target_file) as w:
df.to_excel(w, sheet_name='data', index=False, header=True)
파일합치기
https://www.youtube.com/watch?v=bj9N4QLd0hA&t=218s
import pandas as pd
import os.path
import os
import openpyxl
url = "B:/python/jupyternotebook/pandas_엑셀투파이썬/파일합치기/예제압축파일/"
df = pd.DataFrame([])
for j in os.listdir(url):
# 엑셀파일의 모든 시트를 리스트로 가져오기
data = pd.read_excel(url+j, sheet_name=None)
sheets = list(data.keys())
for i in sheets:
df1 = pd.read_excel(url+j, sheet_name=i)
df1["날짜"] = i
df1["지점"] = j.split(".")[0]
df = pd.concat([df,df1])
target_file = "result_file.xlsx"
if os.path.isfile(target_file):
# openpyxl 엑셀파일 초기화 ##############################################################
wb = xls.load_workbook(target_file)
ws = wb["data"]
if ws["A2"].value != None:
ws.delete_rows(2, ws.max_row-1) # 제목줄은 그대로 두고, 2행부터 마지막행까지 삭제 (삭제할 행갯수=max_row-제목줄1)
wb.save(target_file)
# openpyxl 엑셀파일 초기화 ##############################################################
with pd.ExcelWriter(target_file, mode='a', engine='openpyxl', if_sheet_exists='overlay') as w:
df.to_excel(w, sheet_name='data', index=False, header=False, startrow=1)
else:
with pd.ExcelWriter(target_file) as w:
df.to_excel(w, sheet_name='data', index=False, header=True)
'컴퓨터 > Python' 카테고리의 다른 글
python openpyxl 범위 지우기 for 셀단위 None (0) | 2023.10.24 |
---|---|
python pandas 매입세금계산서 파일 합치기 messagebox 완료 메시지 띄우기 (0) | 2023.10.24 |
padas 파일 존재 여부에 따라서 파일쓰기, 기존 데이터 지우기 openpyxl delete_rows (0) | 2023.10.23 |
vscode bandit error - 지원중단 (0) | 2023.10.18 |
pandas 일부 시트만 수정하기 (0) | 2023.10.17 |