1. 程式人生 > >遇見的python問題--如何將檔案裡的內容轉換成字典型別

遇見的python問題--如何將檔案裡的內容轉換成字典型別

檔案內容如下:

liuyang,123456

liyun,123456

zhangsna,12345lkj

 

#方法一:從檔案中讀取資料,一行讀取一個列表,讀取出一個巢狀的列表,再轉換成字典

with open('users', 'r', encoding='utf-8')as f:

    dic = []

    for line in f.readlines():

        line = line.strip('\n')

        b = line.split(',')

        dic.append(b)

dic = dict(dic)

print(dic)

#方法二:從檔案中讀取資料,一行讀取一個列表,讀取出一個巢狀的列表,再轉換成字典

with open('users', 'r', encoding='utf-8')as f:

    dic = []

    for line in f.readlines():

        line = line.strip('\n')

        b = line.split(',')

        dic.append(b)

new_dict = {}

for i in dic:

    new_dict[i[0]] = i[1]

print(new_dict)

nums = new_dict.keys()[0]

print(nums)

print(nums[3])

#方法三:從檔案中讀取資料,一行讀取一個列表,讀取出一個巢狀的列表,再轉換成字典

with open('users', 'r', encoding='utf-8')as f:

    res = dict(line.strip().split(',') for line in f if line)

    print(res)

 

執行過程中報錯:dictionary update sequence element #8 has length 1; 2 is required

找了半天問題出現的原因,結果竟因為檔案內的最後一行是空行導致的。好吧,我就不說什麼了,建議查詢問題的時候打印出每一步的操作結果,就發現問題了。