프로그래밍 언어/Python

월별 명세서 취합하기 - 카드 명세서에서 데이터 불러오기

· 코딩마이데이

효율적인 데이터 분석을 위해 여러 데이터 파일을 하나로 취합하는 일은 실무에서도 자주 맞닥뜨리게 되는데요. 이때 파이썬과 pandas 패키지를 사용하면 파일을 일일이 열어서 데이터를 옮기는 대신, 코드 몇 줄만으로 작업을 마칠 수 있습니다.

 

카드 명세서에서 필요한 데이터 불러오기

소스 코드 'ch_02/input' 폴더에 있는 액셀 파일에서 거래 일시, 가맹점명, 분류, 사용금액 데이터를 데이터프렝임으로 불러와 파이썬 코드로 다뤄 보겠습니다.

필요한 데이터는 [B3] 셀부터 [E37] 셀에 저장되어 있고, 나머지는 불필요하거나 빈 셀입니다. 불러올 열 범위를 B열부터 E열까지로 지정하고, 첫 두 개의 행을 제외하면 됩니다.

비주얼 스튜디오 코드에서 새로운 파일을 생성하고, 파일명을 'step_2_1.py'로 변경합니다. 다음과 같이 코드를 작성한 뒤, 코드 전체를 선택한 다음 Shift + Enter 키를 눌러 대화형 창에서 실행하면 액셀 파일의 데이터가 데이터프레임으로 변환되어 화면에 출력됩니다.

import pandas as pd
from step_1 import IN_DIR # 이전에 작성한 모듈을 불러옵니다.

df_raw = pd.read_excel(IN_DIR / "2024년1월.xlsx", # 4
                       sheet_name="Sheet1", usecols="B:E", skiprows=2) # 5

df_raw # 6

 

실행결과

                거래일시       가맹점명       분류    사용금액
0   2024-01-01 19:40      애플스토어     전자기기   69800
1   2024-01-02 09:55     이디야 커피    카페/음료    6000
2   2024-01-03 17:42       메가박스       영화   11000
3   2024-01-04 16:51        코레일     대중교통    3000
4   2024-01-06 14:50       유니클로       의류   85000
5   2024-01-06 19:23     투썸플레이스    카페/음료    9000
6   2024-01-07 19:20      배달의민족     배달음식   66000
7   2024-01-08 13:17        요기요     배달음식   16000
8   2024-01-09 11:06         쿠팡   온라인 쇼핑   19000
9   2024-01-09 15:19         CU      편의점   11000
10  2024-01-10 15:12      롯데시네마       영화   18000
11  2024-01-11 14:08       넷플릭스  온라인 서비스   33000
12  2024-01-11 15:34        요기요     배달음식   68000
13  2024-01-12 15:10       쿠팡이츠     배달음식   57000
14  2024-01-13 09:51       ZARA       의류  193000
15  2024-01-13 09:55        CGV       영화   16000
16  2024-01-13 19:59    LG 베스트샵     전자기기   94900
17  2024-01-15 16:06    LG 베스트샵     전자기기   93800
18  2024-01-15 19:44      세븐일레븐      편의점   11000
19  2024-01-16 18:38        CGV       영화   13000
20  2024-01-17 09:36      백인백곱창       식당    7000
21  2024-01-18 17:27      세븐일레븐      편의점   11000
22  2024-01-19 17:02  삼성 디지털프라자     전자기기  133000
23  2024-01-20 15:45       서울버스     대중교통    3000
24  2024-01-21 15:58      세븐일레븐      편의점   12000
25  2024-01-22 10:40         쿠팡   온라인 쇼핑   45000
26  2024-01-23 12:17    LG 베스트샵     전자기기   26100
27  2024-01-24 14:44      롯데시네마       영화   10000
28  2024-01-25 18:25     한솥 도시락       식당   37000
29  2024-01-27 19:15     한솥 도시락       식당   21000
30  2024-01-29 09:30      배달의민족     배달음식   42000
31  2024-01-29 09:46      서울메트로     대중교통    1000
32  2024-01-31 09:28      세븐일레븐      편의점   14000
33  2024-01-31 17:12       넷플릭스  온라인 서비스   29000

 

04~05 read_excel() 함수를 사용하면 '2024년1월.xlsx' 파일을 불러와 'Sheet1' 시트를 데이터프레임으로 변환하고, 변수 df_raw에 저장합니다. 이때 함수의 입력값으로 usecols="B:E"를 전달해서 불러올 열의 범위를 지정하고, skiprows=2 전달해서 1~2행을 생략합니다.

06 df_raw 변수를 대화형 창에서 실행해 df_raw 저장된 값을 화면에 출력합니다.