0
編寫一個函數parse,它接受一個文件名並將每行使用逗號分隔值格式解析爲字典的字典。給出的示例文件是:讀取文件並將其解析爲字典的函數
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
你'id'作爲主鍵,那麼爲什麼你需要把它添加到字典中的身體嗎? – Chinny84
爲什麼你有2個循環?只需讀取第一行即可獲得密鑰然後循環。 – polku