我正在尝试将processing.py中的csv文件作为表加载。 Java环境允许我使用loadTable()函数,但是,我无法在python环境中找到等效的函数。
答案 0 :(得分:0)
您可以使用以下命令解析数组列表中的csv文件:
import numpy as np
array_list = np.genfromtxt('file.csv',delimiter=';',dtype=None)
答案 1 :(得分: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文件中的每一行视为字典。对于每一行,它创建一个Row
类的实例,然后允许您以所需的格式检索条目。目前我刚编写了getFloat()
和getString()
(这是所有csv值的默认格式)。
答案 2 :(得分:0)
你可以用这个创建一个空的 Table
对象:
from processing.data import Table
t = Table()
中的讨论填充它
但我认为@martin-evans 提出的 Python Dict 会很好。你像这样加载它:
import csv
from codecs import open # optional to have the 'enconding="utf-8"' in Python 2
with open("data/pokemon.csv", encoding="utf-8") as f:
data = list(csv.DictReader(f)) # a list of dicts, col-headers as keys