python读取数据分割存为字典问题

有两行这样的数据,存在一个test_data.txt里面
url:http://XXX.XXX.XXX.XXX:8080/futureloan/mvc/api/member/login,mobilephone:13760246701,pwd:123456
url:http://XXX.XXX.XXX.XXX:8080/futureloan/mvc/api/member/login,mobilephone:15678934551,pwd:234555

 要求如下:

1:将每一行的数据存到一个字典里面,且url、mobilephone、pwd为key,对应key后面的值为value。然后讲读取的每行数据存储为字典后存到一个总的列表里面。返回总列表

2:写成函数通过调用函数最后得到的数据为:

[{'url': 'http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login', 'mobilephone': '13760246701', 'pwd': '123456'}, {'url': 'http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login', 'mobilephone': '15678934551', 'pwd': '234555'}]

def trans_dict(file):
    files = open(file)
    files_content = files.readlines() #读取数据,返回一个list,每一行 为一个字符串
    result_list = [] #创建一个空列表

    for data_lines in files_content:  #遍历列表,取出每一行字符串
        result_dict = {} # 创建一个空字典
        # 去掉头尾换行符,再以逗号切割字符串,返回列表,遍历切割后的列表
        for data_str in data_lines.strip('\n').split(','):
            #取出'X:X'形式的字符串,按冒号切割为列表,
            #再取第一个值做为key,第二个做为value,赋值给空字典
            result_dict[data_str.split(':',1)[0]] = data_str.split(':',1)[1]
        #内层循环结束,将生成的字典赋值给空列表
        result_list.append(result_dict)
    print(result_list)
    files.close()

trans_dict('test_data.txt')

猜你喜欢

转载自blog.csdn.net/z_erduo/article/details/80997229