44. pandas를 이용하여 엑셀 파일에 기록하기

안녕하세요. 언휴예요.

 

이전 글에서 네이버 개발자센터에서 제공하는 Open API 서비스를 이용하여 도서 검색 프로그램을 작성했었죠. 이번에는 검색한 결과를 엑셀 파일에 기록하는 부분을 추가할 거예요.

 

Python에서 엑셀에 기록하는 방법은 매우 다양합니다. 여기에서는 그 중에 pandas 패키지를 이용하는 방법을 사용할 거예요. 이를 위해서는 pandas 패키지를 설치해야 합니다. Visual Studio에서 Python 패키지를 설치하는 방법은 앞에서 이미 다루었죠.

 

pandas 패키지를 설치하였으면 새로운 프로젝트를 생성하세요. 전체 소스 코드는 앞에서 작성했던 소스 코드와 대부분 비슷하므로 이전에 작성한 소스 코드를 복사 및 붙여넣기 하세요.

 

import 구문을 하나 추가합니다. 여기에서는 pandas를 짧게 pd로 사용할 수 있게 할게요.

 

item 항목들의 부모 요소인 items와 새로 생성하여 기록할 경로(파일) 명을 입력 인자로 받아 item 항목을 엑셀 파일에 저장하는 함수를 정의하세요.

 

먼저 파일에 기록할 데이터를 리스트에 보관한 후에 한꺼번에 엑셀 파일에 기록할 거예요. 이를 위해 비어있는 리스트를 선언하세요.

 

items의 각 자식 항목들의 제목과 설명 내용을 리스트 항목에 추가합니다. 이 때 제목과 설명은 독립적인 컬럼 값으로 사용할 것이므로 대괄호로 구분한 후에 더하기 연산을 사용하세요.

 

pandas의 DataFrame 기능에 기록할 자료를 보관한 리스트와 컬럼 정보를 인자로 전달하면 테이블 형태로 기록할 수 있는 개체를 반환합니다.

 

table 변수로 멤버 to_csv를 호출하면 엑셀 파일에 기록합니다. 이 때 기록할 엑셀 파일의 경로(파일) 명과 코드 페이지(949는 한글) 및 모드(w는 쓰기 모드), 인덱스 부여 등을 전달할 수 있어요.

 

마지막으로 main 함수 맨 뒷부분에 makeexel 함수를 호출합니다. 이 때 items와 기록할 파일 경로를 전달합니다.

 

다음은 실습으로 작성한 전체 소스입니다.