Snažím se číst ve formátu csv s více sloupců pomocí Pyomo DataPortal funkce data.load
inicializovat index i
ale jsem na problém, kdy nemohu vybrat pro sloupec chci pomocí select
argument.
Zde je kód, já jsem běh.
from pyomo.environ import *
model = AbstractModel()
model.i = Set()
data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)
Na fips.csv
soubor má více sloupců s FIPS kód detaily. Snažím se vybrat sloupec s názvem fips
.
Chybové dostávám je následující.
Model declaration 'f' not found in returned query columns
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Users/cwayner/PycharmProjects/SeniorThesis/pyomo/dataportal/DataPortal.py", line 164, in load
self._data_manager.read()
File "/Users/cwayner/PycharmProjects/SeniorThesis/pyomo/dataportal/plugins/csv_table.py", line 58, in read
self._set_data(tmp[0], tmp[1:])
File "/Users/cwayner/PycharmProjects/SeniorThesis/pyomo/dataportal/TableData.py", line 117, in _set_data
header_index.append(headers.index(str(i)))
ValueError: 'f' is not in list
Co je matoucí, o tom pro mě je, že tato chyba zahrnuje jen první písmeno (f
) sloupec, který chci vybrat (fips
). Nevím, co by mohlo být příčinou tohoto v Pythonu.
Snažil jsem se načítání dat pomocí Pandy a všechny záhlaví sloupců se zdá být zatížení správně, ale chci zjistit, proč to nefunguje, pomocí data.load
funkce. Jsem schopen načíst v jeden sloupec CSV v pohodě (což je jednoduché řešení, kde jsem odešel můj CSV do více jeden-sloupec CSVs), ale rád bych, aby si select
funkce pracuje pro multi-sloupci CSVs pro jednoduchost a snadnost použití.