Estoy tratando de leer en un csv con varias columnas utilizando el Pyomo DataPortal función data.load
para inicializar un índice i
pero estoy ejecutando en un problema que no puedo seleccionar para la columna quiero usar el select
argumento.
Aquí es el código que estoy corriendo.
from pyomo.environ import *
model = AbstractModel()
model.i = Set()
data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)
El fips.csv
el archivo tiene varias columnas con FIPS código de detalles. Estoy tratando de seleccionar la columna que se llama fips
.
El error que estoy recibiendo es la siguiente.
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
Lo que es confuso acerca de esto para mí es que este error se incluye sólo la primera letra (f
) de la columna que quiero para seleccionar (fips
). No sé lo que podría estar causando esto en Python.
He tratado de cargar los datos en el uso de los Pandas y todos los encabezados de columna que parecía ser la carga correctamente, pero quiero averiguar por qué no funciona el uso de la data.load
la característica. Yo soy capaz de cargar en una columna CSV de bien (que es una solución sencilla donde puedo dividir mis CSV en varios de una columna CSVs), pero me gustaría conseguir el select
la función de trabajo para multi-columna CSVs para la simplicidad y facilidad de uso.