Am încercat să citesc într-un csv cu mai multe coloane folosind Pyomo DataPortal funcție data.load
pentru a inițializa un index i
dar sunt difuzate într-o problemă în cazul în care nu selectați pentru coloana vreau utilizarea select
argument.
Aici este codul candidez.
from pyomo.environ import *
model = AbstractModel()
model.i = Set()
data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)
La fips.csv
fișierul are mai multe coloane cu FIPS codul de detalii. Încerc să selectați coloana numita fips
.
Eroarea primesc este următoarea.
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
Ceea ce este confuz despre acest lucru pentru mine este că această eroare a include doar prima literă (f
) din coloana pe care vreau să îl selectați (fips
). Nu stiu ce ar putea cauza acest lucru în Python.
Am încercat încărcarea datelor în utilizarea Panda și toate antetele de coloană părea să fie de încărcare corect, dar vreau să-mi dau seama de ce nu este de lucru cu ajutorul data.load
caracteristică. Eu sunt capabil să încarce într-o coloană CSV bine (care este o simplă soluție în cazul în care îmi împart CSV în mai multe-o coloană formă de fișiere csv), dar mi-ar place pentru a obține select
funcția de lucru pentru multi-coloană formă de fișiere csv pentru simplitate și ușurința de utilizare.