2017-04-18 3 views
0

processing.pyでcsvファイルをテーブルとしてロードしようとしています。 Java環境では、loadTable()関数を使用できますが、Python環境で同等の関数を見つけることはできません。processing.pyのcsvファイルをロードする

+1

標準のPythonライブラリを使用してCSVを読み込むことは、あなたのユースケースでは機能しませんか? https://docs.python.org/2/library/csv.html – justderb

+0

[これを試してください](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 

これは、Pythonのcsv.DictReaderを使用してメモリにCSVファイルを読み込みますクラス。これは、csvファイルの各行を辞書として扱います。各行に対して、クラスのインスタンスを作成し、必要な形式でエントリを取得できるようにします。現在、私はちょうどgetFloat()getString()(すべてのcsv値のデフォルトフォーマットです)をコーディングしました。

関連する問題