自学内容网 自学内容网

D18【python接口自动化学习】-python基础之内置数据类型

day18 综合练习:实现手机通讯录(下)

学习日期:20240925

学习目标:内置数据类型--27 小试牛刀:如何使用类型转换实现手机通讯录(下)

学习笔记:

实现手机通讯录

案例文件

with open('27-demo.csv') as f:
    file_data=f.readlines()
    print(file_data)
# [',张三,同事,13511112222\n', '1,李四,朋友,13566668888\n', '2,王五,同事,13566667777\n']

# 安装软件包并导入当前代码
# pip3 install tinydb # 安装到虚拟环境
from tinydb import TinyDB

# 指定存放通讯录的文件
db = TinyDB('db.json')

# 将csv格式的文件,进行格式转换,并存入到通讯录文件
friend_1={'name':file_data[0].split(',')[0],"source":file_data[0].split(',')[1],'tel':file_data[0].split(',')[2].strip()}
friend_2={'name':file_data[1].split(',')[0],"source":file_data[1].split(',')[1],'tel':file_data[1].split(',')[2].strip()}
friend_3={'name':file_data[2].split(',')[0],"source":file_data[2].split(',')[1],'tel':file_data[2].split(',')[2].strip()}
'''
问题:
1.假如文件中有更多的行怎样简便处理?----学完循环再完善
2.怎样知道已经处理完所有的行了?----学完异常再完善
3.如果文件格式不规范怎么办?----类型的嵌套,学完模板再完善
4.这么写很啰嗦,有没有更优雅的写法?----学完类再完善

'''


# 将通讯录中的好友写进数据库 每执行一次会插入一次数据
db.insert_multiple([
    friend_1,
    friend_2,
    friend_3
])

# 查看通讯录中全部好友
print(db.all())
# [{'name': '', 'source': '张三', 'tel': '同事'}, {'name': '1', 'source': '李四', 'tel': '朋友'}, {'name': '2', 'source': '王五', 'tel': '同事'}]

# 根据姓名查电话
from tinydb import Query
friend =Query()
friend_info = db.search(friend.name == '张三')
print(friend_info) # [{'name': '张三', 'source': '同事', 'tel': '13511112222'}]

print(f'{friend_info[0]['name']} 的电话是 {friend_info[0]['tel']}') # 张三 的电话是 13511112222

# TinyDB 是纯python实现的数据库
# 它还能实现支持更新,删除,复杂查询等操作
# 更多功能请参考官方文档
# https://pypi.org/project/tinydb/
总结
  1. 数据处理就是将非结构化数据转换成结构化数据的过程
  2. 利用不同的数据类型可以方便对文章进行数据分析
  3. 编程除了结果正确外,可读性也是好的程序标准,可以为复杂的程序适当增加变量

原文地址:https://blog.csdn.net/tian_nx/article/details/142535241

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!