python 通讯录读取

img

-读取附件中的csv文件(通讯录信息),放入字典中(后两张以列表形式做为字典的值),并依次输出期中的信息。

可以使用python自带的csv模块,读取文件内容到字典,然后再根据输入的字符,来选择不同的操作就可以了。

代码如下:

参考链接:


【Python】字典遍历(dict遍历)_python3 遍历dict_J小白Y的博客-CSDN博客 字典也是我们在做数据分析时经常用到的类型,之前小白有总结过DataFrame的遍历,这篇博文,小白整理了自己遍历字典时的几种方法。 众所周知,字典是键值对的组合,那么对字典的遍历就自然而然的包含了对键和值的遍历,下面依次介绍遍历键、值,键值三种情况的遍历。首先,创建一个字典,以便下面的遍历。dict = { '小明':129, '小兰':148... https://blog.csdn.net/Jarry_cm/article/details/99684387


import csv


#  https://blog.csdn.net/domoNaruto/article/details/81193281
filename="addressbook.csv"  # 文件路径,默认存放于和代码一个目录下

addrs = {}  # 存放通讯录内容的字典

# 读取通讯录文件内容,存放到字典中
with open(filename) as csvfile:  
    content = csv.reader(csvfile)

    for row in content:
        addrs[row[0]]=[row[1],row[2]]

# 从输入获取操作命令
choice = input()


if choice =='A': # 输入A ,按行输出文件内容
  # https://blog.csdn.net/domoNaruto/article/details/81193281  
    for key,value in addrs.items():
        print(key,value[0],value[1])
elif choice =='D': # 输入D,输出字典内容
    print(addrs)
else:  # 输入其他字符,则输出ERROR
    print("ERROR")
    

addressbook.csv(测试文件内容):

张自强    12652141777    材料
庚同硕    14388240417    自动化
张三    15624531453    物流

输入A的运行结果:

img


import csv

with open('contacts.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)
    contacts = {}
    for row in reader:
        name = row[0]
        phone = row[1]
        email = row[2]
        group = row[3]
        if group not in contacts:
            contacts[group] = []
        contacts[group].append({'name': name, 'phone': phone, 'email': email})

    for group, contacts in contacts.items():
        print(group)
        for contact in contacts:
            print(contact['name'], contact['phone'], contact['email'])