컴퓨터/Python

padas 파일 존재 여부에 따라서 파일쓰기, 기존 데이터 지우기 openpyxl delete_rows

풍경소리^^ 2023. 10. 23. 13:12
import os.path
import openpyxl as xls

target_file = "result.xlsx"

if os.path.isfile(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)