python/Data

KIWI·2020년 8월 13일
0

지금까지 서너번은 만든 것 같았던 데이터 저장 및 로드 코드인데, 시간이 아깝다는 생각이 들어서 올려놓고 계속 발전시키면서 재활용하려고 한다.

발전시킨다면, 기본적으로 hdf5를 사용하는 것으로 하고, csv로 export할 수 있게 하는게 적절한 방향일 것 같다.

import numpy as np

class Data:
    name= ''
    data = None

    def __init__(self, name):
        self.name = name

    def add_row(self, **kwargs):
        row = np.array(list(kwargs.values()))
        if type(self.data) != type(None):
            self.data = np.vstack((self.data, row))
        else:
            self.data = row.reshape(1, -1)
        self._export_to_csv()

    def _export_to_csv(self):
        with open('.'.join((self.name, 'csv')), 'ab') as f:
            np.savetxt(f, self.data, fmt=("%s"), delimiter=",")
            self.data = None
        print("export to csv")


    def clear(self):
        self.data

추가해야할 내용

  • 파일을 저장하기 전에 해당 파일이 이미 있는 경우 '추가' 및 '수정'을 할 것인지 혹은 새로운 파일을 생성할 것인지에 대한 물음과 각각의 기능 구현
  • 칼럼 정보를 포함할지, 혹은 json파일로 따로 빼줄지에 대한 정보(칼럼 정보가 들어가면 귀찮을 때가 있다...)
  • csv를 읽기
  • hdf5로 저장하기, 저장한다면
  • hdf5를 읽기
  • docstring 작성

0개의 댓글