2025년 3월 20일 목요일

csv load 2.5

class CsvProcessor:
    def __init__(self, file_name, dict_fields):
        self.file_name = file_name
        self.dict_fields = dict_fields.split(",")  # 필드명은 쉼표로 분리
        self.data_list = []

    def process_csv(self):
        try:
            # 파일을 열고 처리
            csv_file = open(self.file_name, "r")
            for line in csv_file:
                columns = line.strip().split(",")
                entry = {self.dict_fields[i]: columns[i] for i in range(len(self.dict_fields))}
                self.data_list.append(entry)
            csv_file.close()
        except Exception as e:
            # 새로운 Exception 발생 (원래의 Exception 포함)
            raise RuntimeError("Failed to process the CSV file (%s): %s" % (self.file_name, str(e)))

    def print_data(self):
        for entry in self.data_list:
            print(entry)

# 사용 예시
file_name = "./resources/data.csv"  # CSV 파일 경로
dict_fields = "no,display,amount"

try:
    processor = CsvProcessor(file_name, dict_fields)
    processor.process_csv()
    processor.print_data()
except RuntimeError as e:
    print("Caught RuntimeError: %s" % str(e))

댓글 없음: