Pyomo DataPortal 을 읽지 않아 다 열 CSV 로

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). I don't know what 일으키는 원인이 될 수 있는 이에 Python.

내가 노력 데이터를 로드하에서 사용하는 맥스와 마르타의 관계가 발전하려고 모든 열 머리글 등장을 올바르게 로드,하지만 나는 알고 싶지 않을 사용하여 작업 data.load 기능입니다. 나에 로드할 수 있는 하나의 열 CSV 잘(는 간단한 해결 방법는 프로그램을 나눠서 사용할 CSV 으로 여러 중 하나는 열 Csv)지만,나를 얻 select 기능 작동을 위한 다중 열 Csv 위해 단순하고 사용이 편리합니다.

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

최고의 응답

0

If you look closely at the documentation for select 그것을 말한 인수해야하는 목록 또는 튜플입니다. 그래서,내부적으로는 함수,인자를"반복". 고,문자열을 반복 가능한 그래서 첫 번째"f"는 벗.

솔루션:그냥 있으면 하나 열 이름을 넣어 1-요소 목록 또는 1-요소 tuple. 참고:당신은 필요합 뒤에 쉼표 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. 당신은 어떤 생각을 가지고 무슨 일이 일어나고 있는지에 대? 의 열 데이터를 프레임 내에서 읽을 수 있는 정수,문자열이 아닙니다.
Claire Wayner

내가 심는 오류입니다에서 오는 load 작업입니다. 체크인 번호,etc. 인쇄 설정한 후에는 로드됩니다. 는 경우는 작동하지 않고 붙어 있 깍을 재현 가능한 최소 예제와 함께 부부의 라인을 데이터 소스는 오류를 재현할 수 있고 새로운 질문입니다.
AirSquid

어쩌면 문제가 있으로 이 방법이다. 나는 그냥 그렇게 손으로"선택"명령과 내가 그것을 얻을 수 없을 로드하는 개인이 올바르게 설정되어 있습니다. 을 할 수 있는 인덱스 매개변수로 설명서에 있지만,나는 그것을 얻을 수 없습하는 작업을 설정합니다. 을 고려할 수 있습니다 다른 데이터의 구조는 더 많은 예측할 수 있습니다.
AirSquid

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................