Pyomo DataPortal नहीं पढ़ने में बहु-स्तंभ सीएसवी ठीक से

0

सवाल

मैं कोशिश कर रहा हूँ में पढ़ने के लिए एक csv के साथ एकाधिक स्तंभों का उपयोग कर Pyomo DataPortal समारोह data.load प्रारंभ करने के लिए एक सूचकांक i लेकिन चल रहा हूँ, एक मामले में जहां मैं नहीं चुन सकता है स्तंभ के लिए मैं का उपयोग करना चाहते हैं select तर्क ।

यहाँ कोड है मैं चल रहा हूँ ।

from pyomo.environ import *
model = AbstractModel()
model.i = Set()

data = DataPortal()
data.load(filename='fips.csv',select='fips',set=model.i)

के fips.csv फ़ाइल में एकाधिक स्तंभों के साथ FIPS कोड विवरण. मैं कोशिश कर रहा हूँ का चयन करने के लिए स्तंभ कहा जाता है fips.

त्रुटि मैं हो रही हूँ निम्नलिखित है.

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

क्या है के बारे में भ्रमित मेरे लिए यह है कि इस त्रुटि को भी शामिल है, बस पहले अक्षर (f) के स्तंभ है कि मैं करने के लिए चाहते हैं का चयन करें (fips). मैं नहीं जानता कि क्या कारण हो सकता है इस अजगर में.

मैं करने की कोशिश की है लोड हो रहा है डेटा का उपयोग करने में पंडों और सभी कॉलम हेडर दिखाई दिया जा करने के लिए सही ढंग से लोड है, लेकिन मैं चाहता हूँ करने के लिए बाहर आंकड़ा क्यों यह काम नहीं कर रहा है का उपयोग कर data.load की सुविधा है । मैं कर रहा हूँ में लोड करने के लिए एक एक-स्तंभ सीएसवी बस ठीक (जो एक सरल समाधान है, जहां मैं विभाजन मेरी सीएसवी में एक स्तंभ CSVs), लेकिन मैं करना चाहते हैं पाने के लिए select समारोह में काम करने के लिए बहु-स्तंभ CSVs के लिए सादगी और उपयोग की आसानी.

csv pyomo python
2021-11-18 16:04:59
1

सबसे अच्छा जवाब

0

यदि आप पर बारीकी से देखो प्रलेखन के लिए select इसे कहते हैं, तर्क होना चाहिए, एक सूची या टपल. तो, आंतरिक रूप से करने के लिए है कि समारोह, तर्क है "दोहराया". और, तार कर रहे हैं iterable तो पहले "एफ" किया जा रहा है खुली ।

समाधान: यदि आप सिर्फ एक स्तंभ का नाम डाल दिया, यह एक 1-तत्व सूची या 1-तत्व टपल. नोट: आप की जरूरत के अनुगामी अल्पविराम में एक 1-तत्व टपल या यह सिर्फ के रूप में व्याख्या की कोष्टक. इस प्रयास करें:

data.load(filename='fips.csv',select=('fips',),set=model.i)

यह भी है कि एक ही अनुभाग के दस्तावेज है, वहाँ एक नोट लोड करने के बारे में कई मापदंडों पर एक बार हो सकता है, जो आप के लिए उपयोगी हो.

2021-11-18 17:18:05

बहुत बहुत धन्यवाद! मैं नहीं जानता कि मुझे क्या करना होगा के बिना इस समुदाय.
Claire Wayner

महान. के रूप में मैं उल्लेख करने के लिए आप में अन्य पोस्ट में आप था, यह इस जवाब के साथ समस्या है, तो कृपया मारा "जाँच चिह्न" अगला जवाब देने के लिए इसे बंद करने के लिए बाहर (और मुझे मेरी अल्प अंक...lol)
AirSquid

ठीक है, मैं हो सकता है बात की भी जल्द ही. कोशिश कर रहा है जब अपने कोड बस अब, मैं में भाग गया एक अलग त्रुटि । IndexError: string index out of range. क्या आप किसी भी विचार क्या हो रहा है पर? स्तंभ के डेटा फ्रेम मैं कोशिश कर रहा हूँ में पढ़ने के लिए है integers, नहीं एक स्ट्रिंग है.
Claire Wayner

मुझे शक है कि त्रुटि से आ रहा है लोड आपरेशन. जांच के लाइन नंबर, आदि. प्रिंट सेट करने के बाद यह लोड किया गया है. यदि वह काम नहीं करता है और आप फंस रहे हैं छीलना यह नीचे एक न्यूनतम करने के लिए प्रतिलिपि प्रस्तुत करने योग्य, उदाहरण के एक जोड़े के साथ लाइनों के अपने डेटा स्रोत इतना है कि त्रुटि reproduced किया जा सकता है और एक और सवाल है.
AirSquid

ठीक है, शायद वहाँ एक समस्या है के साथ यह दृष्टिकोण समग्र है । मैं बस के साथ tinkered "का चयन करें" कमांड और मैं यह नहीं मिल सकता लोड करने के लिए एक व्यक्ति को सही ढंग से स्थापित. यह कर सकते हैं एक अनुक्रमित पैरामीटर के रूप में दस्तावेज में है, लेकिन मैं इसे प्राप्त नहीं कर सकते काम करने के लिए एक सेट के लिए. तुम चाहते हो सकता है पर विचार करने के लिए एक अलग-अलग डेटा संरचना है कि अधिक उम्मीद के मुताबिक है.
AirSquid

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में