第三方模块的下载与使用
第三方模块:别人写的模块 一般情况下功能特别强大
想使用第三方模块 必须先下载后面才可以反复使用
方式1:
命令行借助于pip工具
pip3 install 模块名 # 不知道版本默认是最新版
pip3 install 模块名==版本号 # 指定版本下载
pip3 install 模块名 -i 仓库地址 # 临时切换
'''命令行形式永久修改需要修改python解释器源文件'''
方式2:
pycharm快捷方式
settings
project
project interprter
双击或者加号
点击右下方manage管理添加源地址即可
下载完第三方模块之后 还可以使用 import 或 from import句式导入使用
我们可以切换下载的仓库
1.阿里云 http://mirrors.aliyun.com/pypi/simple/
2.豆瓣 http://pypi.douban.com/simple/
3.清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
4.中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
5.华中科技大学http://pypi.hustunique.com/
报错解决措施
1.报错并有警告信息
WARNING: You are using pip version 20.2.1;
原因:是pip版本过低
解决措施:拷贝后面的命令执行更新
2.报错的提示信息中含有关键字timeout
原因:网络不稳定
解决措施:再次尝试或者切换更加稳定的网络
3.没有任何关键字 不同的模块报不同的错
原因:模块需要特点的计算机环境
解决措施:拷贝报错信息使用百度、浏览器搜索
网络爬虫模块之requests模块
爬虫就是编写程序,模拟浏览器发送请求,然后服务端把数据响应给我,然后我再对响应的数据做解析,拿到我想要的那一小部分,这就是整个爬虫过程
get请求
# 请求路径
import requests
# 朝指定网址发送请求获取页面数据
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模块
1.excel文件的版本及后缀
2003版本之前 excel的文件后缀是xls
2003版本之后 excel的文件后缀是xlsx、csv
2.操作excel表格的第三方模块
xlwt往表格中写入数据、wlrd从表格中读取数据
兼容所有版本的excel文件
openpyxl最近几年比较火热的操作excel表格的模块
03版本之前的兼容性较差
ps:还有很多操作excel表格的模块 甚至涵盖了上述的模块 >>>:pandas
openpyxl操作
新建excel .批量创建工作簿
import openpyxl as vb
local=r'E:ETL平台gina_loop.xlsx'# 指定文件路径
wb=vb.Workbook()#新建EXECL文档
for i in range(1,11,2):#创建10个工作表,2是步长
wb.create_sheet('2021年2月'+ str(i) +'日')#i是数 字,需转换为字符串
wb.save(local)
在一个excel文件内创建多个工作簿
wb1 = wb.create_sheet('北京')
wb2 = wb.create_sheet('上海')
wb3 = wb.create_sheet('深圳')
# 还可以修改默认的工作簿位置
wb4 = wb.create_sheet('广州', 0)
# 还可以二次修改工作簿名称
wb4.title = '苏州'
wb4.sheet_properties.tabColor = "1072BA"
打开一个excel文件
from openpyxl import load_workbook
wb2 = load_workbook('文件名称.xlsx')
删除工作薄
import openpyxl as vb
local=r'E:ETL平台gina_loop.xlsx'# 指定文件路径
wb=vb.load_workbook(local)
print(wb.sheetnames)
for i in wb:
print(i.title.split("-"))
if i.title.split("-")[0]=='上海':#split("-") 用-进行分隔,分隔后 从0开始 上海-2021年 , ['上海','2021年']
wb.remove(wb[i.title])
wb.save(local)
wb.close()
获取值单元格值
import openpyxl as vb
local=r'E:ETL平台gina_area.xlsx'# 指定文件路径
local11=r'E:ETL平台gina_area_copy.xlsx'# 指定文件 路径
wb=vb.load_workbook(local11)
ws=wb['2021年2月1日']
for i in range(1,10,1):
print(i,ws.cell(row=i,column=2).value)
print(ws['A1'].value)
标签:wb,python,基础,list,模块,print,home,data
From: https://www.cnblogs.com/oiqwyig/p/16830158.html