본격적인 스크리닝 조건필터들을 만들기 전에, 해당 필터들을 잘 저장할 수 있는 엑셀 모듈을 추가해봅니다.
스크리닝 조건 필터로 걸러진 데이터들을 저장할 모듈 만들기
저는 이전 포스트에서 결과물을 엑셀파일로 저장해서 확인하기 위해 export_to_excel.py
라는 파일을 만들고 내부에 ExportToData
라는 클래스를 정의하고, export_to_excel
이라는 메소드를 생성해보았습니다.
import array
import pandas as pd
class ExportToData:
def __init__(self):
self.pandas = pd
def export_to_excel(self, file_path, file):
print("Exporting result to excel file.....")
writer = self.pandas.ExcelWriter(file_path, engine='openpyxl')
file.to_excel(writer, sheet_name="test")
writer.save()
이번에 생성할 것은, 여러개의 데이터들을 각각 하나의 엑셀 시트로 보존하고, 하나의 엑셀파일로 저장하는 모듈을 만들어 보겠습니다.
여러 시트를 가지는 하나의 엑셀파일
사실 방법은 아주 간단합니다.
def export_to_excel_with_many_sheets(self, file_path, files: array):
# 진행상황 확인용 프린트문
print("Exporting result to excel file.....")
# 파일 생성용 객체 생성
writer = self.pandas.ExcelWriter(file_path, engine='openpyxl')
for sheet_name, file in files:
file.to_excel(writer, sheet_name=sheet_name)
writer.save()
저장용 경로와, 저장할 데이터들이 들어있는 배열을 파라미터로 받습니다.
for sheet_name, file in files:
file.to_excel(writer, sheet_name=sheet_name)
저장할 데이터들이 들어있는 배열을 반복문으로 돌리는데, 이 배열 안의 데이터는 튜플 형식으로 구성할 것입니다. 형태는 아래와 같게 구성할 것 입니다.
("SHEET_NAME", Dataframe)
튜플 0번째자리는 시트의 이름으로 쓸 문자열이 들어있을 것이고, 1번째 자리에는 해당 시트에 기재될 데이터들이 들어있을 것입니다.
파이썬은 반복문에서 해당 데이터의 개수만큼 변수를 선언해서 꺼내어 쓸 수 있습니다.
(튜플에 데이터 2개가 들어있으니, 변수 2개를 선언해서 바로 사용할 수 있음)
반복문이 다 돌아 시트로 생성할 데이터들을 모두 저장했으면, 저장합니다.
writer.save()
import array
import pandas as pd
class ExportToData:
def __init__(self):
self.pandas = pd
def export_to_excel(self, file_path, file):
# 진행상황 확인용 프린트문
print("Exporting result to excel file.....")
writer = self.pandas.ExcelWriter(file_path, engine='openpyxl')
file.to_excel(writer, sheet_name="test")
writer.save()
def export_to_excel_with_many_sheets(self, file_path, files: array):
# 진행상황 확인용 프린트문
print("Exporting result to excel file.....")
writer = self.pandas.ExcelWriter(file_path, engine='openpyxl')
for sheet_name, file in files:
file.to_excel(writer, sheet_name=sheet_name)
writer.save()
다음 포스트에서 스크리닝을 위한 조건 필터를 만들어봅니다.
반응형
'파이썬으로 종목 스크리너 만들기' 카테고리의 다른 글
뇌동매매 금지 - 8. 상장종목 스크리닝 해보기 (0) | 2022.09.12 |
---|---|
뇌동매매 금지 - 7. 종목 스크리닝을 위한 필터 만들기 (0) | 2022.09.12 |
뇌동매매 금지 - 5. 추출하고 계산한 분기별 데이터 검증해보기 (0) | 2022.09.12 |
뇌동매매 금지 - 4. 팩터데이터 계산해보기, 기본 필터조건 만들어보기 (0) | 2022.09.12 |
뇌동매매 금지 - 3. 분기별 재무정보 조회해보기 (0) | 2022.09.12 |
댓글