第三方库
第三方库就是别人已经实现好了的库,我们可以拿过来直接使用
虽然标准库已经很强大了,但是终究是有限的,而第三方库可以视为是集合了全世界 Python
程序猿的智慧,可以说是几乎无穷无尽
使用 pip
pip
是 Python
内置的包管理器
- 所谓 包管理器 就类似于我们平时使用的手机
app
应用商店一样 - 第三方库有很多,是不同的人,不同的组织实现的。为了方便大家整理,
Python
官方提供了一个网站PyPI
https://pypi.org/ ,来收集第三方库 - 其他大佬写好的第三方库也会申请上传到
PyPI
上 - 这个时候就可以方便的使用
pip
工具来下载PyPI
上的库了
pip
在我们安装 Python
的时候就已经内置了,无需额外安装。 pip
是一个可执行程序,就在 Python
的安装目录中
打开 cmd
,直接输入 pip
,如果显示以下帮助信息,说明 pip
已经准备就绪
如果最开始按照要求在安装
Python
的时候勾选了
那么pip
就是默认可用的
如果提示:
'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
则说明没有正确的把 pip
加入到 PATH
中,可以手动把 pip
所在的路径加入到 PATH
环境变量中参考:
windows环境下面配置pip环境变量 - 简书 (jianshu.com)
或者卸载重装 Python
,记得勾上上述选项,也许是更简单的办法
安装第三方库
使用以下命令,即可安装第三方库
pip install [库名]
注意:
- 这个命令需要从网络上下载,使用时要保证网络畅通
- 安装成功后,即可使用
import
导入相关模块,即可进行使用.
注意:
- 如果使用
pip
安装完第三方库之后,在PyCharm
中仍然提示找不到对应的模块,则检查Settings -> Project -> Python Interpreter
,看当前Python
解释器设置的是否正确. (如果一个机器上安装了多个版本的Python
,容易出现这种情况)
生成二维码
二维码本质上是一段字符串,我们可以把任意的字符串,制作成一个二维码图片
生活中使用的二维码,等多的是一个 URL
(网址)
1. 确定使用哪个库
- 通过搜索引擎,确定使用哪个库
得到情报,qrcode
这个库,可以用来生成二维码
2. 查看对应文档
- 查看
qrcode
文档
在 PyPI
上搜索 qrcode
点击则进入 qrcode
的详情页
文档开头描述了如何安装 qrcode
- 在
PyCharm
的Terminal
框中输入指令,完成安装
页面中央位置描述了 qrcode
库的使用方法
3. 开始操作
import qrcode
img = qrcode.make("马上开学!")
img.save('qrcode.png')
make
里面指定需要输出的内容- 生成的二维码就自动放在了当前项目的目录中,点开进行查看,扫码可得对应内容
操作 Excel
读取 excel
可以使用 xlrd
模块,文档地址:
https://xlrd.readthedocs.io/en/latest/
修改 excel
可以使用 xlwt
模块,文档地址:
https://xlwt.readthedocs.io/en/latest/
需求 有如下 excel 表格 D:/python
求 100 班的同学的平均分
虽然
excel
自身支持很强大的功能,也可以求和,求平均值,但是如果是稍微复杂的需求,操作起来可能就没那么方便了
1. 安装 xlrd
pip install xlrd==1.2.0
注意: 此处要指定版本号安装,如果不指定版本号,则安装最新版,最新版里删除了对 xlsx
格式文件的支持
2. 编写代码
- 使用
open_workbook
方法打开一个excel
文件 - 使用
xlsx.sheet_by_index(0)
获取到0
号标签页 - 使用
table.nrows
获取到表格的行数 - 使用
table.cell_value(row, col)
获取到表格中row
,col
位置的元素值.
import xlrd
# 1. 先打开 xlsx 文件
xlsx = xlrd.open_workbook('d:/python/Python操作.xlsx')
# 2. 获取到指定的标签页
table = xlsx.sheet_by_index(0)
# 3. 获取到表格中有多少行
nrows = table.nrows
# 4. 进行循环统计操作
count = 0
total = 0
for i in range(1,nrows):
# 拿到当前同学的姓名
# table.cell_value(i,0)
# 拿到当前同学的分数
# table.cell_value(i,2)
# 拿到当前同学的班级
classId = table.cell_value(i,1)
if classId == 100:
total += table.cell_value(i,2)
count += 1
print(f'平均分{total/count}')
"""
运行结果
平均分77.0
"""