티스토리 뷰

반응형

판다스_엑셀파일을 한번 읽고 시트명을 이용해서 데이터프레임 만들기

  • 데이터프레임을 만들때, 엑셀개체를 한버만 읽기
  • 읽어온 객체를 이용해서 시트별로 데이터 프레임 만들기
# 파일에서 인원수 구하기
def get_pre_file_num(p_file):
    try:
        # 파일 한 번만 읽기
        xls = pd.ExcelFile(p_file)

        # 각 시트의 데이터프레임 길이 계산
        num_total = len(xls.parse('기초명부전체')) if '기초명부전체' in xls.sheet_names else 0      # xls.parse('시트명') 시트를 데이터프레임으로 불러오기. xls는 객체
        num_gap = len(xls.parse('갑만기_명부')) if '갑만기_명부' in xls.sheet_names else 0
        num_spc = len(xls.parse('특만기_명부')) if '특만기_명부' in xls.sheet_names else 0
        num_gen = len(xls.parse('일반_명부')) if '일반_명부' in xls.sheet_names else 0
        num_error = len(xls.parse('에러사항')) if '에러사항' in xls.sheet_names else 0

        return num_total, num_gap, num_spc, num_gen, num_error

    except FileNotFoundError:
        print(f"파일 '{p_file}'을(를) 찾을 수 없습니다.")
        return None
    except Exception as e:
        print(f"오류 발생: {e}")
        return None
반응형