Pyomo DataPortal işlevini kullanarak birden çok sütuna sahip bir csv'de okumaya çalışıyorum data.load
bir dizini başlatmak için i
ancak, kullanmak istediğim sütun için seçemediğim bir sorunla karşılaşıyorum select
tartışma.
İşte çalıştırdığım kod.
from pyomo.environ import *
model = AbstractModel()
model.i = Set()
data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)
Bu fips.csv
dosya, FIPS kod ayrıntılarını içeren birden çok sütuna sahiptir. Çağrılan sütunu seçmeye çalışıyorum fips
.
Aldığım hata şu şekildedir.
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
Bu konuda kafa karıştırıcı olan şey, bu hatanın sadece ilk harfi içermesidir (f
seçmek istediğim sütunun (fips
). Ben Python bu neden ne olabilir bilmiyorum.
Verileri Pandaları kullanarak yüklemeyi denedim ve tüm sütun başlıkları doğru yükleniyor gibi görünüyordu, ancak neden Pandaları kullanarak çalışmadığını anlamak istiyorum. data.load
özellik. Tek sütunlu bir csv'ye gayet iyi yükleyebiliyorum (CSV'Mİ birden çok tek sütunlu CSV'YE böldüğüm basit bir geçici çözüm), ancak şunu elde etmek istiyorum: select
fonksiyon basitlik ve kullanım kolaylığı için çok sütunlu CSV'LER için çalışır.