2017-04-18 9 views
0

processing.py에서 csv 파일을 테이블로로드하려고합니다. Java 환경에서 loadTable() 함수를 사용할 수는 있지만 파이썬 환경에서 동등한 함수를 찾을 수는 없습니다.processing.py의 csv 파일로드

+1

표준 파이썬 라이브러리를 사용하여 CSV를 읽는 것이 유스 케이스에서 작동하지 않습니까? https://docs.python.org/2/library/csv.html – justderb

+0

[try this] (http://stackoverflow.com/questions/3518778/how-to-read-csv-into-record-array-in -numpy) –

+0

Processing.py는 이제 'loadTable'을 갖게됩니다 : https://github.com/jdf/processing.py/blob/7c30e038600c221c5b70590a50160d918b5dd86b/mode/examples/Topics/AdvancedData/LoadSaveTable/LoadSaveTable.pyde#L44 – justderb

답변

0

이 함께 배열 목록에서 CSV 파일을 구문 분석 할 수 있습니다 :

import numpy as np 
array_list = np.genfromtxt('file.csv',delimiter=';',dtype=None) 
0

누락 된 기능을 추가 할 수 다음과 같이

import csv 

class Row(object): 
    def __init__(self, dict_row): 
     self.dict_row = dict_row 

    def getFloat(self, key): 
     return float(self.dict_row[key]) 

    def getString(self, key): 
     return self.dict_row[key] 

class loadTable(object): 
    def __init__(self, csv_filename, header): 
     with open(csv_filename, "rb") as f_input: 
      csv_input = csv.DictReader(f_input) 
      self.data = [Row(row) for row in csv_input] 

    def rows(self): 
     return self.data 

이 사용하여 메모리에 파이썬의 csv.DictReader CSV 파일을 읽고 수업. 이렇게하면 csv 파일의 각 행이 사전으로 취급됩니다. 각 행에 대해 클래스의 인스턴스를 만들고 필요한 형식으로 항목을 검색 할 수 있습니다. 현재 나는 getFloat()getString() (모든 csv 값의 기본 형식)으로 코딩했습니다.