프로그래밍/python
개인적으로 권장하는 엑셀 파일 dataframe화 방식
이휘재123
2023. 1. 13. 13:00
반응형
if 1 == 1:
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
import os
import pandas as pd
class OrderFile:
def __init__(self, filepath):
self.filepath = filepath
self.initData()
def get_excel_data_type(self):
return {
"열1": str,
"열2": str,
"열3": str,
}
def initData(self):
self.filepath = os.path.normpath(self.filepath)
self.filename = os.path.basename(self.filepath)
columns = self.get_excel_data_type()
try:
self.df_order = pd.read_excel(self.filepath, converters=columns, keep_default_na="")
self.df_order = self.df_order.loc[:, list(columns.keys())]
except Exception as e:
print(e)
def output(self):
print(self.df_order)
if __name__ == "__main__":
order_file = OrderFile(r"D:\excels\엑셀.xlsx")
order_file.output()
열의 이름을 해당 클래스에서 미리 입력받아 놓으면 추후 유지보수에 편리하다.
예) 엑셀에 열을 추가해서 다른 기능을 추가하고 싶다... 등
반응형