openpyxl库模块是用于处理Microsoft Excel文件的第三方库,可以对Excel文件中的数据进行写入和读取。
weather.py
import re
import 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.text
def 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 openpyxl
html=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℃', '适宜']