当前位置: 首页 > news >正文

Python常用的第三方模块【openpyxl库】读写Excel文件

        openpyxl库模块是用于处理Microsoft Excel文件的第三方库,可以对Excel文件中的数据进行写入和读取。

weather.py
import reimport requests#定义函数
def get_html():url='https://www.weather.com.cn/weather1d/101210101.shtml' #爬虫打开浏览器上的网页resp=requests.get(url)  #打开浏览器并打开网址#设置下编码格式resp.encoding='utf-8'return resp.text#resp响应对象,对象名,属性名  resp.textdef 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)zs=re.findall('<span class="zs">([\u4e00-\u9fa5]*)</span>',html_str)lst=[]for a,b,c,d in zip(city,weather,wd,zs):lst.append([a,b,c,d])return lst

openpyxl库操作写入Excel

示例openpyxl库_将爬取的景区天气数据存储到Excel文件中.py

import weather
import openpyxlhtml=weather.get_html() #发请求,得相应结果
lst=weather.parse_html(html) #解析数据
#创建一个新的Excel工作簿
workbook=openpyxl.Workbook() #创建对象
#在Excel文件中创建工作表
sheet=workbook.create_sheet('景区天气')#向工作表中添加数据
for item in lst:sheet.append(item) #一次添加一行print(sheet)workbook.save('景区天气.xlsx')
#打开时默认展示Sheet工作表,点击切换至‘景区天气’工作表


直接将“景区天气.xlsx”拉到桌面打开excel,打开时默认展示Sheet工作表,点击切换至‘景区天气’工作表


openpyxl库操作读取Excel

示例openpyxl库_从Excel文件中读取数据.py

import openpyxl
#打开工作簿
workbook=openpyxl.load_workbook('景区天气.xlsx')
#选择要操作的工作表
sheet=workbook['景区天气']
#表格数据是二维列表,先遍历的是行,后遍历的是列
lst=[]  #存储的是行数据
for row in sheet.rows:sublst=[] #存储单元格数据for cell in row: #cell单元格sublst.append(cell.value)lst.append(sublst)for item in lst:print(item)
['景区', '天气', '气温', '旅游指数']
['三亚', '多云', '25/33℃', '适宜']
['九寨沟', '小雨', '12/18℃', '适宜']
['大理', '晴转多云', '12/23℃', '适宜']
['张家界', '大雨转小雨', '17/22℃', '较不宜']
['桂林', '阵雨转中雨', '22/29℃', '适宜']
['青岛', '小雨转晴', '13/20℃', '适宜']

http://www.dtcms.com/a/146171.html

相关文章:

  • Vue路由传参的几种方式-案例
  • 系统分析师知识点:访问控制模型OBAC、RBAC、TBAC与ABAC的对比与应用
  • ONLYOFFICE协作空间3.1发布:虚拟数据房间中基于角色的表单填写、房间模板、改进访客管理等
  • 利用WSL2的镜像功能访问Windows下的所有网卡
  • 日志文件太大,如何分卷压缩便于传输
  • 第 2 篇:初探时间序列 - 可视化与基本概念
  • 【网络编程】从零开始彻底了解网络编程(三)
  • IQ信号和实信号的关系与转换的matlab实现
  • 软件工程师中级考试-上午知识点总结(上)
  • Docker概念详解
  • Netdata 监控多台服务器
  • 【大模型ChatGPT +DeepSeeK+python】最新AI赋能Python长时序植被遥感动态分析、物候提取、时空变异归因及RSEI生态评估
  • JavaScript与TypeScript
  • ‌射频功率放大器的核心工作机制与组件设计
  • 从模拟到数字:舵机控制技术的飞跃!
  • Java中 关于编译(Compilation)、类加载(Class Loading) 和 运行(Execution)的详细区别解析
  • vue3数据响应式丢失的情况有哪些
  • 极狐GitLab CEO 柳钢受邀出席 2025 全球机器学习技术大会
  • 大语言模型提示词工程详尽实战指南
  • 【计网】三四章习题
  • Linux-编辑器的使用
  • 【Linux】线程安全与线程同步
  • 单页面应用的特点,什么是路由,VueRouter的下载,安装和使用,路由的封装抽离,声明式导航的介绍和使用
  • 【Easylive】为什么需要手动转换 feign.Response 到 HttpServletResponse
  • 关于 梯度下降算法、线性回归模型、梯度下降训练线性回归、线性回归的其他训练算法 以及 回归模型分类 的详细说明
  • Dify忘记管理员密码,重置的问题
  • ADB -> pull指令拉取手机文件到电脑上
  • 【图像标注技巧】目标检测图像标注技巧
  • elastic/go-elasticsearch与olivere/elastic
  • 如何建设企业级合成数据中台?架构设计、权限治理与复用机制全解