Eu estou tentando ler um arquivo csv com várias colunas usando o Pyomo DataPortal função data.load
para inicializar um índice i
mas estou correndo para um problema onde não é possível selecioná para a coluna eu quero usar o select
argumento.
Aqui está o código que eu estou correndo.
from pyomo.environ import *
model = AbstractModel()
model.i = Set()
data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)
O fips.csv
arquivo possui várias colunas com o código FIPS detalhes. Eu estou tentando selecionar a coluna chamada fips
.
O erro que eu estou ficando é o seguinte.
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 que é confuso sobre isso para mim é que este erro inclui apenas a primeira letra (f
) da coluna que eu quero para seleccionar (fips
). Eu não sei o que poderia estar causando isso em Python.
Eu tentei carregar os dados no uso de Pandas e todos os cabeçalhos de coluna parecia estar carregando corretamente, mas eu quero descobrir por que ele não funcionar usando o data.load
recurso. Eu sou capaz de carregar em uma coluna de CSV apenas a multa (que é uma solução simples, onde vou dividir a minha CSV em várias de uma coluna CSVs), mas eu gostaria de obter o select
função para multi-coluna CSVs para a simplicidade e facilidade de uso.