从dat fi创建词典

2024-09-30 00:38:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试构建一个程序来管理您的电话联系人,例如,允许您打印联系人、搜索联系人、添加联系人、删除联系人等。该程序应根据存储在dat文件中的数据创建字典,该文件的格式如下:

亚历克斯史密斯,646-528-3280,jsmith@stern.nyu.edu在

简能源部,347-238-3220,jgonzalez@stern.nyu.edu在

。。。。在

基于此,我想在Python中创建一个字典,其中键是一个包含名称的字符串,对应的值是一个包含两个字符串的列表:[电话号码,电子邮件地址]。在

任何帮助都将不胜感激!我刚开始学习Python,我是个十足的傻瓜:/


Tags: 文件数据字符串程序字典格式联系人dat
2条回答

您可以逐行读取文件,将每行拆分为3个字段,然后创建字典:

d = {}
with open("mydatafilename", 'r') as f:
    lines = f.readlines()
    for line in lines:
        fields = line.split(',')
        d[fields[0]] = fields[1:]

您可以使用python中的defaultdictfrom collection来创建具有不同类型值的dict数据结构。在

#!/usr/bin/python

from collections import defaultdict
from pprint import pprint

store = defaultdict(list)

with open('test.dat', 'r') as FH:
    for file in FH.readlines():
        line = file.strip()
        try:
            name,phone,email = line.split(',')
        except ValueError, err:
            print "Record: ", line
            raise Exception("Failed while unpacking. Not enough arguments to supply.")
        store[name].extend([phone,email])

pprint(store)

这是一个样本来做这个。在

相关问题 更多 >

    热门问题