0
파일 이름을 취하고 쉼표로 구분 된 값 형식을 사용하여 각 행을 사전 사전에 구문 분석하는 함수 인 구문 분석을 작성합니다. 주어진 예제 파일은 다음과 같습니다파일을 읽고 사전으로 구문 분석하는 함수
id,age,name
100,31,George
101,47,Herbert
103,72,Harriet
예상 출력 사전은 다음과 같습니다
{'103': {'name': 'Harriet', 'age': '72', 'id': '103'}, '100': {'name':
'George', 'age': '31', 'id': '100'}, '101': {'name': 'Herbert', 'age': '47',
'id': '101'}}
하는 각 라인에서 라인 문자의 끝을 제거하기 위해 문자열의 .strip() 메소드를 사용했는지 확인 구문 분석.
힌트 : 이전 질문의 data_dictionary 함수를 붙여 넣은 다음 각 행에 도움이되도록 구문 분석 함수에서 호출해야합니다. 예를 들어
:
테스트 결과
print(sorted(d["100"].items()))= = [('age', '31'), ('id', '100'), ('name', 'George')]
print(sorted(d["101"].items()))= [('age', '47'), ('id', '101'), ('name', 'Herbert')]
print(sorted(d["103"].items())) = [('age', '72'), ('id', '103'), ('name', 'Harriet')]
이 내가 가진 내 코드입니다. Data_dictionary는 완벽하지만 구문 분석이 필요합니다. 제발 도와 줄 수 없어!
def data_dictionary(keys,values):
d = {}
for i in range(len(keys)):
d[keys[i]] = values[i]
return d
def parse(file):
d = {}
with open(file) as file_name:
for line in file_name:
keys = (item.strip() for item in line.split(','))
for line in file_name:
values = (item.strip() for item in line.split('/n'))
data_dictionary(keys,values)
return d
우리가 사용할 수 있을까? – Chinny84
왜 2 개의 루프가 있습니까? 첫 번째 줄을 읽은 다음 열쇠를 얻고 반복하십시오. – polku