翼度科技»论坛 编程开发 python 查看内容

Python基础第三方模块requests openpyxl

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
一、第三方模块的下载与使用


1、什么是第三方模块


  • 第三方模块是指别人编写的模块
  • 第三方模块一般功能都比较强大

2、如何安装第三方模块


方式一:pip工具

安装方式:
1、打开python解释器的安装目录,找到Scipts目录,该目录下会有pip.exe的程序,这个程序就是用来安装第三方模块的
2、将python版本对应的Scipts文件目录添加至系统环境变量
3、打开cmd命令提示符窗口,在cmd命令窗口中运行下载第三方模块的句式
  1. 下载第三方模块的句式
  2.         pip install 模块名
  3. 下载第三方模块临时切换仓库
  4.         pip install 模块名 -i 仓库地址
  5. 下载第三方模块指定版本(不指定默认是最新版)
  6.         pip install 模块名==版本号 -i 仓库地址
复制代码
注意事项:
我们的电脑中可能安装了多个版本的python解释器,每个版本中都有pip工具,在我们使用pip安装模块时,需要下载在我们使用的版本中的pip工具中,否则下载的模块将无法运行

方式二:pycharm中下载

安装方式:
1、在pycharm中点击左上角File
2、在下方目录中找到Settings
3、找到Project,打开python Interpreter
4、点击'+'号,在上方窗口内输入想要下载的模块
5、点击Install Package,等待即可下载完成
注意事项:
1、在安装窗口右侧找到Specify versin 可选择需要下载模块版本号
2、Manage Repositories可配置仓库地址

3、注意事项


1、报错并有警告信息

WARNING: You are using pip version 20.2.1;

  • 原因在于pip版本过低 只需要拷贝后面的命令执行更 新操作即可
d:\python38\python.exe -m pip install --upgrade pip

  • 更新完成后再次执行下载第三方模块的命令即可

2、报错,提示关键字

Timeout

  • 提示该关键字说明当前计算机网络不稳定,只需更换网络或等待网络稳定后下载即可

3、报错,无关键字

面向百度搜索

  • 只需拷贝报错信息到百度搜索即可
  • 通常都是需要用户提前准备好一些下载环境才可以顺利下载

4、下载速度慢

pip的默认下载地址都是国外的,我们只需要切换下载地址即可

  • 关于切换下载地址的方式在上面已经说明
  • 常用下载地址
  1. 清华大学 :    https://pypi.tuna.tsinghua.edu.cn/simple/
  2. 阿里云:    http://mirrors.aliyun.com/pypi/simple/
  3. 中国科学技术大学 :    http://pypi.mirrors.ustc.edu.cn/simple/
  4. 华中科技大学:    http://pypi.hustunique.com/
  5. 豆瓣源:    http://pypi.douban.com/simple/
  6. 腾讯源:    http://mirrors.cloud.tencent.com/pypi/simple
  7. 华为镜像源:    https://repo.huaweicloud.com/repository/pypi/simple/
复制代码
二、网络爬虫之requests模块



1、简介


  • requests模块是一个第三方模块,需要在额外进行安装
  • 它是一个用于网络请求的模块,主要用来向浏览器发送请求

2、使用方法

导入模块:
  1. import requests
复制代码
1.关键词:get( )

作用:用于向浏览器发送请求
代码用法:
  1. url = "https://www.baidu.com"
  2. res = requests.get(url)
复制代码
2.关键词:encoding

作用:指定编码格式,针对一些古老的网站,在获取网页信息的时候,不指定编码格式的话可能会出现乱码。不指定的情况下默认使用系统自带的编码环境
代码用法:
  1. res = encoding = 'utf8'
复制代码
3.关键词:content

作用:返回的是一个原生字符串,是bytes类型
代码用法:
  1. print(res.content)
  2. # 返回的是一个原生字符串,是bytes类型
复制代码
4.关键词:text

作用:获取字符串类型的网页数据(默认按照utf8)
代码用法:
  1. print(res.text)
  2. # 获取字符串类型的网页数据(默认按照utf8)
复制代码
5.关键词:url

作用:打印请求
代码用法:
  1. print(res.url)
复制代码
6.关键词:status_code

作用:打印状态码
代码用法:
  1. print(res.staus_code)
复制代码
三、网络爬虫实战


1、爬取链家网站房屋信息
  1. import re
  2. import requests
  3. from openpyxl import Workbook
  4. url = 'https://sh.lianjia.com/ershoufang/pg1/'
  5. for i in range(1, 101):
  6.     url = f"https://sh.lianjia.com/ershoufang/pg{i}/"
  7.     print(url)
  8.     res = requests.get(url)
  9.     url_data = res.text
  10.     home_biaoqian = re.findall(
  11.         """data-is_focus="" data-sl="">(.*?)</a>""",
  12.         url_data)
  13.     home_xiaoqu_name = re.findall(
  14.         """<a href="https:.*?" rel="external nofollow"  target="_blank" data-log_index=".*?" data-el=".*?">(.*?)</a>""",
  15.         url_data)
  16.     home_xiaoqu_dir = re.findall("""<a href="https://sh.lianjia.com/ershoufang/.*?/" rel="external nofollow"  target="_blank">(.*?)</a>""",
  17.                                  url_data)
  18.     home_jutixinxi = re.findall("""<div class="houseInfo"><span class="houseIcon"></span>(.*?)</div>""", url_data)
  19.     home_guanzhudu = re.findall("""<div class="followInfo"><span class="starIcon"></span>(.*?)</div>""", url_data)
  20.     home_zongjia = re.findall("""<span class="">(.*?)</span>""", url_data)
  21.     home_danjia = re.findall("""<span>(.*?)</span>""", url_data)
  22.     home_data = zip(home_xiaoqu_name, home_xiaoqu_dir, home_biaoqian, home_jutixinxi, home_guanzhudu, home_zongjia,
  23.                     home_danjia)
  24.     with open(r'sh_.txt', 'w', encoding='utf8') as f:
  25.         for i in home_data:
  26.             f.write('''
  27.                 小区名称:%s
  28.                 小区地址:%s
  29.                 小区标签:%s
  30.                 详情:%s
  31.                 关注度:%s
  32.                 总价:%s
  33.                 单价:%s\r
  34.                 '''%i)
复制代码
四、openpyxl模块

1、简介


  • openpyxl模块属于第三方模块,是一个在 python 中能够处理 excel 文件的模块,还有比较出名的是xlrd、xlwt 分别控制excel文件的读写,这俩个能够兼容所有版本的文件。openpyxl 针对 excel 2003版本之前的兼容性可能不好 但是功能更加强大。
注意事项:
excel文件的版本及后缀
  1. 2003版本之前 excel的文件后缀是xls
  2. 2003版本之后 excel的文件后缀是xlsx、csv
复制代码
2、创建文件相关


2、1.创建excel文件

关键词:workbook
作用:

  • 使用 openpyxl 创建文件。只需导入Workbook类
代码用法:
  1. 导入模块:
  2.         form openpyxl import workbook
  3. 代码用法:
  4.         from openpyxl import Workbook
  5.     wb = Workbook
  6.          # 一个 excel 文件创建成功
复制代码
2、2.创建工作簿

关键词:cerate_sheet( )
作用:

  • 使用 openpyxl 创可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写建文件。只需导入Workbook类
  • 可以创建多个工作簿,并且可按照顺序排列
代码用法:
  1. 导入模块:
  2.         form openpyxl import workbook
  3. 代码用法:
  4.         from openpyxl import Workbook
  5.         wb = Workbook()
  6.         ws1 = wb.cerate_sheet('工作簿名称', 0)
复制代码
  1. sheet 是自动生成的
复制代码
2、3.修改工作簿名称

关键词:title
作用:

  • 可以更改工作簿名称
  • 通过待修改名称工作簿‘点’的方式在后方赋予新的名称
代码用法:
  1. 导入模块:
  2.         form openpyxl import workbook
  3. 代码用法:
  4.         from openpyxl import Workbook
  5.         wb = Workbook()
  6.         ws1 = wb.cerate_sheet('用户信息表', 0)
  7.         ws1.title = 'user_infor'
复制代码


2、4.修改工作簿颜色

关键词:sheet_properties.tabColor
作用:

  • 用来给工作簿背景修改颜色,需要用到RGB色域
代码用法:
  1. 导入模块:
  2.         from openpyxl import Workbook
  3.     wb = Workbook()
  4.     ws1 = wb.create_sheet('用户信息表', 0)
  5.     ws1.sheet_properties.tabColor = 'FF6666'
  6.     # 将标题背景改为指定RRGGBB颜色代码
复制代码


2、5.查看文件所有工作簿

关键词:sheetname
作用:

  • 查看exexl文件下所有的工作簿,返回的是一个列表
代码用法:
  1. 导入模块:
  2.         from openpyxl import Workbook
  3. 代码用法:
  4.         wb = Workbook()
  5.         ws1 = wb.create_sheet('uese_zhangzhang')
  6.         ws2 = wb.create_sheet('user_kangkang')
  7.         print(wb.sheetname)
  8.         # ['user_zhangzhang', 'user_zhangzhang']               
复制代码
3、写入内容相关


3、1.写入/修改内容

关键词:ws[]
作用:

  • 可以通过工作簿'点'的方式,在后方中括号内填写内容的位置,来修改内容
代码用法:
  1. 导入模块:
  2.         from openpyxl import Workbook
  3. 代码用法:
  4.         wb = Workbook()
  5.         ws1 = wb.create_sheet('uese_zhangzhang')
  6.         ws1['A1'] = 'kangkang'
  7.         # ws1['A1'] 代表的是该表中的 A1 位置,我们可以将数据直接赋值给它
复制代码
关键词:cell( )
作用:

  • 可以通过工作簿'点'的方式,在后方参数内填写内容的位置,来修改内容
  • row:行
  • colum:列
  • value:值(对应位置的数据)
代码用法:
  1. 导入模块:
  2.         from openpyxl import Workbook
  3. 代码用法:
  4.         wb = Workbook()
  5.         ws1 = wb.create_sheet('uese_zhangzhang')
  6.         ws1.cell(row = 1, column= 1, value = 'kangkang')
  7.         # 在第一行,第一列,填入数值'kangkang'
复制代码
3、2.一次写入多个数据

关键词:append()
作用:

  • 可以一次性写入多个数据值,通过行的方式写入,在关键词后方参数内将数据值以列表的形式写入
代码用法:
  1. 导入模块:
  2.         from openpyxl import Workbook
  3. 代码用法:
  4.         wb = Workbook()
  5.         ws = wb.cerate_sheet('user_name', 0)
  6.         ws.append(['序号', '姓名', '性别', '年龄'])
  7.         ws.append(['1', 'kangkang', '男', '18'])
复制代码
4、读取内容相关


4、1.访问多个单元格

用法:直接使用切片操作的方式
代码用法:
  1. x = ws['A1':'C2']
  2. x1 = ws['C']
  3. x2 = ws['C:D']
  4. x3 = ws[10]
  5. x4 = ws[5:10]
复制代码
4、2.获取单元格值

关键词:values
作用:

  • 使用for循环的方式,可以一次获取整行文本数据值
代码用法:
  1. 导入模块:
  2.         from openpyxl import Workbook
  3. 代码用法:
  4.         wb = Wordbook()
  5.         ws1 = wb.create_sheet('nser_name', 0)
  6.         ws1.append(['name', 'age', 'hobby'])
  7.         ws1.append(['kangkang', 18, 'read'])
  8.         for i in ws1.vallue:
  9.         print(i)
复制代码
5、保存文件


  • 当我们编辑完文件后,就需要保存文件,同时赋予文件的名称
关键词:save( )
作用:

  • 在关键词后方参数内填入文件保存的地址,同时赋予文件名
代码用法:
  1. wb = Workbook()
  2. wb.save('user_infor.xlsx')
  3. # balances.xlsx 是保存的路径,也就是文件名。
  4. # 编辑完要保存才行。
复制代码
6、打开文件

前面说的是我们如何创建文件,编辑创建后的文件,对创建的文件进行编辑。
下面所说的是我们如何打开现有的文件,并进行编辑
  1. load_workbook
复制代码
模块导入:
  1. from openpyxl import load_workbook
复制代码
6、1.读取工作簿数据

方式一:
  1. from openpyxl import load_workbook
  2. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
  3. ws = wb['用户信息表']  # 拿到工作薄对象
  4. print(ws['A1'].value)  # 取出工作薄对象中 A1 位置的值
复制代码
方式一:
  1. from openpyxl import load_workbook
  2. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
  3. ws = wb['用户信息表']
  4. print(ws.cell(row=2, column=1).value)  # 通过行与列的形式来取值
复制代码
方式三:(逐行读取)
  1. 方式三(逐行读取)
  2. from openpyxl import load_workbook
  3. wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
  4. ws = wb['用户信息表']
  5. for row in ws.rows:  # 获取每一行的数据
  6.         for data in row:  # 获取每一行中单元格的数据
  7.                 print(data.value)  # 打印单元格的值
复制代码
以上就是Python基础第三方模块requests openpyxl的详细内容,更多关于Python模块requests openpyxl的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/article/266716.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具