首页 > 编程语言 >D18【python接口自动化学习】-python基础之内置数据类型

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

时间:2024-09-26 21:49:53浏览次数:3  
标签:tel name python 数据类型 D18 split file data friend

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. 编程除了结果正确外,可读性也是好的程序标准,可以为复杂的程序适当增加变量

标签:tel,name,python,数据类型,D18,split,file,data,friend
From: https://blog.csdn.net/tian_nx/article/details/142535241

相关文章

  • Python办公自动化之Excel
    在日常工作中,Excel是很多办公人士必不可少的工具,而随着工作流程的复杂化,手动操作Excel的效率已无法满足高效办公的需求。那么,如何通过Python来实现Excel的自动化操作,帮助我们节省时间,提高效率呢?Python如何高效处理Excel文件?通过Python,我们可以快速地读取、修改和......
  • Java中面向对象将引用数据类型作为参数类型
    当参数类型为类名,抽象类名,接口名的时候1.当一个类名作为参数类型在一个方法的时候classStudent{publicvoidfun1(){System.out.println("我是父亲");}}classStudentDemo1{publicvoidfun2(Studentstudent){//当调用到这个方法时相当于:Student......
  • AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
    大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【黑科技·鼓包】问了一个Python的问题。问题如下:我也遇到问题了..大佬们知道的帮忙解答下,很奇怪,不知道为什么nicegui库中input输入框的值不能用change改变的模式更改,但是可以选择直接赋值,我想让用户只能输入纯数......
  • Python从0到100(五十八):机器学习-随机森林及对复杂数据集分类
    随机森林通过构建多个决策树来完成分类或回归任务。随机森林的核⼼思想是通过多个弱学习器(决策树)的集成来构建⼀个强学习器,从⽽提⾼模型的泛化能⼒和稳定性。1.基本原理随机森林的基本原理如下:从训练集中随机抽取⼀定数量的样本(有放回抽样),构建⼀个决策树(称为⾃助采样法或......
  • python爬虫介绍
    python网络爬虫介绍网络爬虫就是按照一定的规则,自动地抓取网络上的各种信息的程序。网络爬虫分类按照系统结构和实现技术,可以把分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫。实际应用中可以将这几种结合起来使用。 通用网络爬虫:如网络搜过引擎,根据提示信息尽可......
  • Python轴承故障诊断 (四)基于EMD-CNN的故障分类
    往期精彩内容:Python-凯斯西储大学(CWRU)轴承数据解读与分类处理三十多个开源数据集|故障诊断再也不用担心数据集了!Python轴承故障诊断(一)短时傅里叶变换STFT-CSDN博客Python轴承故障诊断(二)连续小波变换CWT-CSDN博客Python轴承故障诊断(三)经验模态分解EMD-CSDN博客......
  • Python工程和科学计算1简介
    1简介本章简要介绍了Python编程语言的可扩展性、应用领域和功能。如果您需要在科学工作中进行大量计算,并希望以图形化的方式呈现计算结果,那么您应该认真考虑使用Python。Python是一种编程语言,其功能与MATLAB相似,且是科学计算目前用户最多的首选语言。1.1开发环境1.1.1......
  • C语言数据类型、变量的输入和输出、进制转换
    scanf标准函数可以从键盘得到数字并记录到存储区里,为了使用这个标准函数需要包含stdio.h这个头文件在scanf函数调用语句里应该使用存储区的地址表示存储区;双引号里使用占位符表示存储区的类型,在scanf函数调用语句里尽量不要写不是占位符的内容,如果用户输入的格式和程序要求......
  • python打包whl文件
    在python中,使用setuptools库创建wheel包确保已安装wheel和setuptools#使用piplist查看已经安装的包piplist如果没有,就用下面的命令安装pipinstallwheelsetuptools在当前路径创建一个aaa的文件夹 在aaa里创建一个__init__.py的文件,内容如下classtest_......
  • python字符串
    1定义字符串text="Hello,World!"2多行字符串multi_line_text="""Thisisamulti-linestring."""3 字符串拼接greeting="Hello"name="Alice"message=greeting+","+name+"!"4......