파이썬 판다스 엑셀 날짜 출력 질문입니다

파이썬 판다스 엑셀 날짜 출력 질문입니다

QA

파이썬 판다스 엑셀 날짜 출력 질문입니다

답변 1

본문

import pandas as pd
from operator import index
import numpy as np
from datetime import datetime
 
df= pd.read_excel('C:/Users/user/Desktop/2022년 매출.매입 현황_TEST.xlsx',
                  sheet_name='22-01',usecols='AE,D,C,U,Y',header=6)
df=df.iloc[0:67]
df=df.rename(columns={'인력':'성명','Unnamed: 20':'금액(Free)', 'Unnamed: 24':'금액(사업자)','Unnamed: 30':'지급일'})
 
df['용역비지급']=' '
df=df[['지급일','용역비지급','소속','성명','금액(Free)','금액(사업자)']]
 
df=df.sort_values(by='소속')
df=df.iloc[0:31]
df['금액(Free)']=df['금액(Free)'].apply(lambda x : "{:,}".format(x))
df['금액(사업자)']=df['금액(사업자)'].apply(lambda x : "{:,}".format(x))
df['금액(Free)']= np.where(df['금액(Free)']=='0',df['금액(사업자)'],df['금액(Free)'])
 
df=df.drop(['금액(사업자)'],axis=1)
df=df.rename(columns={'금액(Free)':'금액'})
 
df=df.replace(15,'22-02-15')
df=df.replace(10,'22-02-10')
df=df.replace(30,'22-02-28')
df=df.replace('말일','22-02-28')
df=df.replace(20,'22-02-18')
df=df.replace(31,'22-02-28')
 
df=df.set_index("지급일")
 
df=df.sort_values(by=['지급일','소속','성명'])
 
df.to_excel('C:/Users/user/Desktop/출금.xlsx')

이러한코드에서 

df=df.replace(15,'22-02-15')

df=df.replace(10,'22-02-10')

df=df.replace(30,'22-02-28')

df=df.replace('말일','22-02-28')

df=df.replace(20,'22-02-18')

df=df.replace(31,'22-02-28')

이부분을 replace로 매번 수정하는게 아닌 15일은 다음달 15일 날짜가 출력되고

10일은 다음달 10일날짜가 출력되고 말일의 경우 다음달 말일의 날짜가 출력되지만

토요일,일요일,공휴일등 일때는 이전일의 날짜로 출력되게 할수가 있을지 궁금합니다!

이 질문에 댓글 쓰기 :

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로