@이 질문을하기 위해 미리 감사드립니다 :파이썬 액세스 함수 외부 함수
CSV 파일을 구문 분석하고 특정 필드의 값을 반환하려고합니다. 이 코드는 스크립트로 인라인 할 때 완벽하게 실행되지만 내 앱에서 다른 모듈이 액세스 할 수있는 함수를 만들려고 할 때 변수 (키/값)와 관련된 문제가 발생합니다. CSV 파일.
코드 CSV (parseCsv.py를) 구문 분석 : 나는 그룹, 기업 및 workinglist에 대한 global
매개 변수를 사용하려고했습니다
groups =[]
enterprise = []
workinglist = []
def parse_csv(filename):
quote_char = '"'
delimiter = ','
csv_to_parse = open(filename, 'rb')
csv_reader = csv.DictReader(csv_to_parse, fieldnames=[], restkey='undefined-fieldnames', delimiter=delimiter, quotechar=quote_char)
current_row = 0
for row in csv_reader:
current_row +=1
if current_row == 1:
csv_reader.fieldnames = row['undefined-fieldnames']
continue
groups.append(row['groupid'])
enterprise.append(row['enterprise'])
workinglist.append(row)
; 또한 추가하려고 시도했습니다. return groups, return workinglist, return enterprise
구문에 관계없이이 함수 외부의 그룹, 엔터프라이즈 또는 작업 목록 변수에 액세스 할 수 없습니다. 내 애플 리케이션의 다른 부분에서 이러한 결과를 조작해야합니다. 함수 내에서 print groups
을 추가하면 제대로 작동하지만 함수 외부에서 [].
으로 끝납니다. parse_csv를 self
과 init
을 추가 한 클래스의 메서드로 만들려고했지만 성공하지 못했습니다.
참고로 parse_csv(csvfilename)
을 사용하여 다른 파일에서이 파일을 불러오고 파일을 가져 와서 올바르게 읽습니다.
나는 이것이 매우 간단하고 빠르다는 것을 확신하지만, 오랫동안 이것을 보았을 때, 나는 그것을 볼 수 없었습니다. 어떤 도움이라도 대단히 감사 할 것입니다!
이 문제의 식별을 쉽게하기 위해 모든 관련이없는 제거하십시오 문제를 재현 할 수있는 최소한의 예제가 나올 때까지 코드를 작성하십시오. (일반적으로 출력과 함께 http://repl.it/UAZ). 그렇듯이 코드는 csv 콘텐츠와 같은 외부 파일에 의존 할 수 있습니다. – njzk2