Snažím sa čítať v csv s viacerými stĺpcami pomocou Pyomo DataPortal funkcia data.load
ak chcete inicializovať index i
ale som sa dostanete do problému, pri ktorom sa nedá vyberte stĺpec chcem pomocou select
argument.
Tu je kód som beží.
from pyomo.environ import *
model = AbstractModel()
model.i = Set()
data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)
Na fips.csv
súbor má viac stĺpcov s FIPS kód podrobné údaje. Snažím sa, vyberte stĺpec s názvom fips
.
Chybu som dostať, je nasledujúci.
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
Čo je mätúce o tejto mňa je, že táto chyba sa zahŕňa len prvé písmeno (f
) stĺpec, ktorý som chcete vybrať (fips
). Neviem, čo môže byť príčinou tohto v jazyku Python.
Snažil som sa načítanie údajov pomocou Pandy a všetky hlavičky stĺpcov sa zdalo byť nakladanie správne, ale chcem sa zistiť, prečo to nefunguje pomocou data.load
funkcia. Som schopná načítať v jednom stĺpci CSV v pohode (čo je jednoduché riešenie, kde som rozrazila CSV do viacerých jeden stĺpec Csvš), ale ja by som chcel získať select
funkcia pracuje pre multi-stĺpca Csvš pre jednoduchosť a jednoduchosť použitia.