首页 > 其他分享 >第三方模块的下载与使用、request模块、openpyxl模块

第三方模块的下载与使用、request模块、openpyxl模块

时间:2022-10-26 18:47:03浏览次数:34  
标签:openpyxl request list pip 模块 print home data

第三方模块的下载与使用

第三方模块:别人写的模块 一般情况下功能都特别强大
    
我们如果想使用第三方模块 第一次必须先下载后面才可以反复使用
(等同于内置模块)

下载第三方模块的模式
	1.pip工具 
    	注意每个解释器都有pip工具 如果我们的电脑上有多个版本的解释器那么我们在使用pip的时候一定要注意到底用的是哪一个 否则极其容易出现使用的是A版本解释器然后用B版本的pip下载模块
        为了避免pip冲突 我们在使用的时候可以添加对应的版本号
        python27	pip2.7
        python36	pip3.6
        python38	pip3.8
      下载第三方模块的句式
    		pip install 模块名
      下载第三方模块临时切换仓库
    		pip install 模块名 -i 仓库地址
      下载第三方模块指定版本(不指定默认是最新版)
    		pip install 模块名==版本号 -i 仓库地址
	2.pycharm提供快捷方式
     settings>project>python interprter
      	双击任意一个模块名称或者左下角加号按钮
      在搜索框中输入你想要下载的模块即可
      	并且可以在左侧勾选specify version选择版本
      # pycharm可以换源
      	左下方点击manage repositoires管理地址即可

image

"""
下载第三方模块可能会出现的问题
	1.报错并有警告信息
		WARNING: You are using pip version 20.2.1;
		原因在于pip版本过低 只需要拷贝后面的命令执行更新操作即可
		d:\python38\python.exe -m pip install --upgrade pip
		更新完成后再次执行下载第三方模块的命令即可
	2.报错并含有Timeout关键字
		说明当前计算机网络不稳定 只需要换网或者重新执行几次即可
	3.报错并没有关键字
		面向百度搜索
			pip下载XXX报错:拷贝错误信息
		通常都是需要用户提前准备好一些环境才可以顺利下载
	4.下载速度很慢
		pip默认下载的仓库地址是国外的 python.org
		我们可以切换下载的地址
		pip install 模块名 -i 仓库地址
		pip的仓库地址有很多 百度查询即可
		清华大学 :https://pypi.tuna.tsinghua.edu.cn/simple/
		阿里云:http://mirrors.aliyun.com/pypi/simple/
		中国科学技术大学 :http://pypi.mirrors.ustc.edu.cn/simple/
		华中科技大学:http://pypi.hustunique.com/
		豆瓣源:http://pypi.douban.com/simple/
		腾讯源:http://mirrors.cloud.tencent.com/pypi/simple
		华为镜像源:https://repo.huaweicloud.com/repository/pypi/simple/
"""     

网络爬虫模块之requests模块

requests模块能够模拟浏览器发送网络请求

import requests


# 1.朝指定网址发送请求获取页面数据(等价于:浏览器地址栏输入网址回车访问)
# res = requests.get('http://www.redbull.com.cn/about/branch')
# print(res.content)  # 获取bytes类型的网页数据(二进制)
# res.encoding = 'utf8'  # 指定编码
# print(res.text)  # 获取字符串类型的网页数据(默认按照utf8)

网络爬虫实战之爬取链家二手房数据

import requests
import re

res = requests.get('https://sh.lianjia.com/ershoufang/pudong/')
# print(res.text)
data = res.text

home_title_list = re.findall(
    '<a class="" href=".*?" target="_blank" data-log_index=".*?"  data-el="ershoufang" data-housecode=".*?" data-is_focus="" data-sl="">(.*?)</a>',
    data)
# print(home_title_list)
home_name_list = re.findall('<a href=".*?" target="_blank" data-log_index=".*?" data-el="region">(.*?) </a>', data)
# print(home_name_list)
home_street_list = re.findall(
    '<div class="positionInfo"><span class="positionIcon"></span><a href=".*?" target="_blank" data-log_index=".*?" data-el="region">.*? </a>   -  <a href=".*?" target="_blank">(.*?)</a> </div>',
    data)
# print(home_street_list)
home_info_list = re.findall('<div class="houseInfo"><span class="houseIcon"></span>(.*?)</div>', data)
# print(home_info_list)
home_watch_list = re.findall('<div class="followInfo"><span class="starIcon"></span>(.*?)</div>', data)
# print(home_watch_list)
home_total_price_list = re.findall(
    '<div class="totalPrice totalPrice2"><i> </i><span class="">(.*?)</span><i>万</i></div>', data)
# print(home_total_price_list)
home_unit_price_list = re.findall(
    '<div class="unitPrice" data-hid=".*?" data-rid=".*?" data-price=".*?"><span>(.*?)</span></div>', data)
# print(home_unit_price_list)
home_data = zip(home_title_list, home_name_list, home_street_list, home_info_list, home_watch_list,
                home_total_price_list, home_unit_price_list)
with open(r'home_data.txt','w',encoding='utf8') as f:
    for data in home_data:
        print(
            """
            房屋标题:%s
            小区名称:%s
            街道名称:%s
            详细信息:%s
            关注程度:%s
            房屋总价:%s
            房屋单价:%s
            """%data
        )
        f.write("""
                房屋标题:%s
                小区名称:%s
                街道名称:%s
                详细信息:%s
                关注程度:%s
                房屋总价:%s
                房屋单价:%s\n
                """%data)

自动化办公领域之openpyxl模块

"""以后我们会接触到很多第三方模块 那么统一的学习策略其实就是看文档"""
	pip3 install openpyxl
# 将文档中的代码拷贝执行查看效果从而推导功能

"""
excel文件的版本及后缀
	2003版本之前 excel的文件后缀是xls
	2003版本之后 excel的文件后缀是xlsx、csv
在python中能够处理excel文件的模块有很多 其中最出名的有
	xlrd、xlwt分别控制excel文件的读写 能够兼容所有版本的文件
	openpyxl针对03版本之前的兼容性可能不好 但是功能更加强大
"""
# 如何创建excel文件
	from openpyxl import Workbook

  wb = Workbook()  # 创建excel文件
  wb1 = wb.create_sheet('学员名单')  # 创建工作簿
  wb2 = wb.create_sheet('学生性别', 0)  # 还可以指定工作簿位置
  wb1.title = '修改标题'
  wb.save('文件名.xlsx')  # 保存excel文件
  
# 如何写数据
	# 写普通数据方式1
  wb1['A3'] = 666
  # 写普通数据方式2
  wb1.cell(row=3, column=4, value=999)
  # 批量写普通数据
  wb1.append(['id','username','password'])

  # 写公式数据(也可以在python代码中处理完毕以普通数据写入)
  wb1['A6'] = '=sum(A4:A5)'
	
# 如何读数据
from openpyxl import load_workbook
wb = load_workbook('1.xlsx',read_only=True,data_only=True)
print(wb.sheetnames)  # 获取1.xlsx中所有的工作薄名称  结果是列表数据类型
wb1 = wb['test']  # 拿到工作薄test对象

# 第一种取值方式
print(wb1['A3'].value)  # 不是结果 需要再点value
print(wb1['A6'].value)  # 获取用函数统计的数据,发生无法取到值
"""
  第一需要加一个参数
  第二需要人为的先去修改一下用程序产生的excel表格(不可能用程序产生excel文件之后又直接再用程序去读入,这样没有任何实际意义 通常用程序创建好表格后给人看,人讲自己修改的表格再交由程序处理)
"""
print(wb1.cell(row=3,column=4).value)  # 第二种取值方式

# 获取一行行的数据
for row in wb1.rows:  # 拿到每一行的数据
  for data in row:  # 拿到一行行数据里面每一个单元格的数据
    print(data.value)
    
# 获取一列列的数据(如果想获取 必须把readonly去掉)
for column in wb1.columns:  # 拿到每一列的数据
 	for r in column:  # 拿到一列列数据里面每一个单元格的数据
    print(r.value)

# 获取最大的行数和列数
print(wb1.max_row)
print(wb1.max_column)

标签:openpyxl,request,list,pip,模块,print,home,data
From: https://www.cnblogs.com/super-xz/p/16829588.html

相关文章

  • 第三方模块
    今日内容概要目录今日内容概要今日内容详情第三方模块下载与使用第三方模块的下载第三方模块可能会出现的错误网络爬虫模块之requests模块网络爬虫模块之爬取链家二手房数......
  • MILIANKE-CZ01-7010/7020400-核心模块硬件手册(ZYNQ)
    1产品概述    自2017年MLK-CZ01-7010/7020-400(MZ7XCORE400)系列开发平台发布以来,该系列开发平台和核心模块经过多次迭代升级,在工业自动化、水利电力控制设备、医疗图......
  • 第三方模块
    目录一.第三方模块的下载与使用二.网络爬虫模块之requests模块三.网络爬虫实战之爬取链家二手房数据四.自动化办公领域之openpyxl模块1.excel文件的后缀名问题2.操作excel......
  • VM系列振弦传感器读数模块常见问题
    1、计算机无法与模块通讯应通过以下步骤逐一排查问题(1)观察振弦模块状态灯是否正常闪烁,若不正常则应基本断定是模块问题,此时应尝试对模块进行出厂参数恢复。在高速测量时,因......
  • Deployment took more than 60 seconds, Please check if the requested resources ar
    在zookeeper正常启动后,运行hadoop,并启动flink发现报错:2022-10-2613:24:49,145INFOorg.apache.flink.yarn.YarnClusterDescriptor[]-Deploymenttookmorethan60......
  • Python当中的线程模块threading【多测师】
    在Python语言中,对线程的操作使使用的是threading,下面首先通过一个案例来测试进程和线程的访问速度,首先见测试代码:#!/usr/bin/envpython#-*-coding:utf-8-*-importreque......
  • requestVideoFrameCallback() 简单实例
    在文章《​​浏览器视频帧操作方法requestVideoFrameCallback()简介​​》中介绍了基本的使用情况,本文来体验一下其使用过程,后续将增加一些酷炫的实例。点击开始播放视频......
  • python openpyxl time out 超时 解决所有包下载问题!
    下个python的集成环境就好了!Spyder,Anaconda那么多可以选。我下了spyder,搞定,啥也不用自己下,都有了,多省时间!搞了半天搞不定,啥都不用做,我从网上看了很多的方法,包括设置代理......
  • 齐博x1模块后期要加参数的方法
    频道或插件在后期如果要追加参数的话,可以叫用户在后台开发者设置那里手工添加,也可以程序那里强制添加.大家可以参考评论模块的\plugins\comment\admin\Setting.php$th......
  • python基础re模块与正则
    正则表达式前戏正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r引导案例:手机号校验......