当前位置: 首页 > 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℃', '适宜']

相关文章:

  • Python爬虫实战:获取海口最近2周天气数据,为出行做参考
  • [FPGA基础] FIFO篇
  • SAP ERP HCM HR Forms Workplace
  • 海量数据存储策略
  • 程序的编译(预处理操作)+链接
  • Ray Tracing(光线追踪)与 Ray Casting(光线投射)
  • 强化学习(Reinforcement Learning, RL)​​与​​深度强化学习(Deep Reinforcement Learning, DRL)​​
  • 浅谈AI致幻
  • 如何避免流程形式化导致的效率低下?
  • 【CPU】结合RISC-V CPU架构回答中断系统的7个问题(个人草稿)
  • 【C++类和数据抽象】类的作用域
  • 深度学习-全连接神经网络
  • Kubernetes相关的名词解释Containerd(14)
  • YOLO11改进 | 特征融合Neck篇之Lowlevel Feature Alignment机制:多尺度检测的革新性突破
  • 模型检测技术的发展历史简介
  • 嵌入式开发板调试方式完全指南:串口/SSH/Telnet及其他方式对比
  • MySQL数据库 - InnoDB引擎
  • 详解.vscode 下的json .vscode文件夹下各个文件的作用
  • 基于SSM+Vue的社群交流市场服务平台【提供源码+论文1.5W字+答辩PPT+项目部署】
  • Java并发编程-线程通讯
  • 工人日报评一些旅行社不收记者律师:“拒客黑名单”暴露心虚病
  • 中远海运:坚决反对美方对中国海事物流及造船业301调查的歧视性决定
  • 《蛮好的人生》上海特色鲜明,聚焦荧屏甚少出现的保险业
  • 长安汽车辟谣抛弃华为,重奖百万征集扩散不实内容的背后组织
  • 1672万!大乐透8.8亿派奖第4期松江彩民18元中头奖
  • 一图看懂|特朗普政府VS美国顶尖高校:这场风暴如何刮起?