python 9 第三方模块

1. 安装卸载与升级

安装

pip

pip install requests -i https://mirrors.aliyun.com/pypi/simple matplotlib

几个国内源地址:

清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn
阿里云 http://mirrors.aliyun.com/pypi/simple
豆瓣 http://pypi.douban.com
华中科技大学    https://pypi.hustunique.com    pip install -i https://pypi.hustunique.com six
 

源码安装

几乎所有第三方模块都可以在 PyPI 或 github 上找到源码,都会提供 zip、tar 等格式的压缩包。将代码压缩包下载到本地并解压,出现 setup.py 的文件。在命令行进入其所在目录,执行:

python setup.py install

第三方模块一般安装在 Python 解释器所在安装目录下的 lib 目录下的 site-packages 目录下

pycharm 安装

在PyCharm中打开设置-->项目-->Python 解释器。

+安装

卸载

pip uninstall requests

升级

python -m pip install --upgrade pip

升级的命令为pip

2. 常用模块的使用

requests (爬虫)

import requests
import re
url = 'https://weather.com/zh-CN/weather/tenday/l/34840bceb138ff49d56e2d604c549d065eedce8fe7b266f1b9b64625f8366f31'
resp = requests.get(url)  # 打开浏览器并打开网址,resp响应对象
resp.encoding = 'utf-8'
print(resp.text)

week = re.findall('class="DailyContent--daypartDate--3VGlz">([\u4e00-\u9fa5]*) 28</span>', resp.text)
print(week)

可以将爬出来的多个数据打包

图片爬取

import requests
url = 'https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png'
resp = requests.get(url)  # 打开浏览器并打开网址,resp响应对象

# 保存到本地
with open('log.png', 'wb')as file:
    file.write(resp.content)
    

openpyxl(Excel)

①对数据进行爬取和解析,并进行封装

import requests
import re

# 获取响应结果
def get_html():
    url = 'http://www.weather.com.cn/weather1d/101010100.shtml#search'
    resp = requests.get(url)  # 打开浏览器并打开网址,resp响应对象
    resp.encoding = 'utf-8'
    return resp.text

# 对结果进行数据解析
def parse_html(html_str):
    city = re.findall('<span class="name">([\u4e00-\u9fa5]*)</span>', html_str)
    weather = re.findall('<span class="weather">([\u4e00-\u9fa5]*)</span>', html_str)
    wd = re.findall('<span class="wd">(.*)</span>', html_str)
    zk = re.findall('<span class="zs">([\u4e00-\u9fa5]*)</span>', html_str)

    lst = []
    for a, b, c, d in zip(city, weather, wd, zk):
        lst.append([a, b, c, d])

    return lst





② 将解析好的数据存储到excel中

import learning1
import openpyxl
html = learning1.get_html()  # 发请求,得到响应结果
lst = learning1.parse_html(html)  # 解析数据
# print(lst)

# 创建新Excel工作簿
workbook = openpyxl.Workbook()
# 创建工作表
sheet = workbook.create_sheet('景区天气')
# 工作表中添加数据
for item in lst:
    sheet.append(item)

workbook.save('景区天气.xlsx')

解析的数据进行print,为二维数组

生成表格如图:

③ 读取excel中的数据内容

import openpyxl
workbook = openpyxl.load_workbook('景区天气.xlsx')
sheet = workbook['景区天气']

# 表格数据是二维列表,先遍历的是行,后遍历的是列
lst = [] #  用来存储行数据
for row in sheet.rows:
    sublst = [] # 用来存储列数据
    for cell in row:
        sublst.append(cell.value)
    lst.append(sublst)

for item in lst:
    print(item)

pdfplumber(读取PDF)

读取PDF:

numpy(处理数组、矩阵等)

 图像灰度处理:

# 图像灰度处理
import numpy as np
import matplotlib.pyplot as plt
# 读取图片
n1 = plt.imread('google.jpg')
print(type(n1))
print(n1)  # 三维数组,分别代表图像的高、宽、RGB

# 编写灰度公式
n2 = np.array([0.299, 0.587, 0.114])
# 点乘
x = np.dot(n1, n2)
# 传入数组,显示灰度
plt.imshow(x, cmap='gray')
# 显示图像
plt.show()

图像如图:

pandas 和 matplotlib

读取excel数据并绘制饼图:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_excel('手机销售数据.xlsx')
# 解决中文乱码
plt.rcParams['fond.sans-serif'] = ['SimHei']
# 画布
plt.figure(figsize=(10, 6))
labels = df['商品名称']
y = df['北京出库销量']

# 绘制饼图
plt.pie(y, labels=labels, autopct='%1.1f%%', startangle=90)

# 设置x,y轴
plt.axis('equal')
plt.title('2028年1月北京各手机品牌出库量占比图')
plt.show()

图像:

PyEcharts

从PyEcharts 里面找相应代码并复制过去,根据实际修改

eg.

PIL

# 颜色交换
from PIL import Image
im = Image.open('google.jpg')
r, g, b = im.split()
print(r)
print(g)
print(b)
om = Image.merge(mode='RGB', bands=(r, b, g))
om.save('new_google.jpg')

jieba

import jieba

with open('华为笔记本txt', 'r', encoding='utf-8') as file:
    s = file.read()

lst = jieba.lcut(s)


# 去重 使用集合
set1 = set(lst)

# key:词 value:出现的次数
d = {}
for item in set1:
    if len(item) >= 2:
        d[item] = 0

for item in lst:
    if item in d:
        d[item] = d.get(item)+1

new_lst = []
for item in d:
    new_lst.append([item, d[item]])
print(new_lst)

# 列表排序  取出列表中索引为1(即次数)的,降序排列
new_lst.sort(key=lambda x: x[1], reverse=True)
print(new_lst[0:11])  # 只显示前十项

PyInstaller

格式:

cmd:

pyinstaller -F D:pysuozaidelujing\pythondewenjianmingcheng.py

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值