-读取附件中的csv文件(通讯录信息),放入字典中(后两张以列表形式做为字典的值),并依次输出期中的信息。
可以使用python自带的csv模块,读取文件内容到字典,然后再根据输入的字符,来选择不同的操作就可以了。
代码如下:
参考链接:
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的运行结果:
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'])