一、openpyxl模块
openpyxl
是一个用于读取和写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。
它允许你以编程方式操作 Excel 文件,包括创建新的工作簿、修改现有的工作簿、添加或删除工作表、读写单元格数据等。
1-1、安装openpyxl模块
验证:
1-2、openpyxl模块的常用函数
1-3、示例
1-3-1、将数据保存到excel文件中
将上一节的requests模块爬取天气信息的代码封装成函数:
import requests
import re
# http请求
def get_html(url):
response = requests.get(url)
# 设置编码格式
response.encoding = 'utf-8'
return response.text
# 处理http请求的返回结果
def parse_html(html_str):
# 正则表达式模式
city_pattern = r'<span class="name"><a\s+[^>]*>(.*?)<\/a>'
weather_pattern = r'<span class="weather"><a[^>]*>(.*?)</a></span>'
wd_pattern = r'<li>.*?<span class="wd">(.*?)</span>.*?</li>'
# <span class="zs">适宜</span>
zs_pattern = r'<li>.*?<span class="zs">(.*?)</span>.*?</li>'
# 搜索匹配项
citys = re.findall(city_pattern, html_str)
weathers = re.findall(weather_pattern, html_str)
wds = re.findall(wd_pattern, html_str)
zss = re.findall(zs_pattern, html_str)
lst = []
for a, b, c, d in zip(citys, weathers, wds, zss):
lst.append([a, b, c, d])
return lst
将提取到的数据存储到excel中:
1-3-2、从excel文件中读取数据
import openpyxl
# 打开工作簿
workbook = openpyxl.load_workbook('景区天气.xlsx')
# 选择要操作的工作表
sheet = workbook['景区天气']
#读取表中的内容
lst = []
for row in sheet.rows:
sublst = []
for cell in row:
sublst.append(cell.value)
lst.append(sublst)
for item in lst:
print(item)
1-3-3、注意
openpyxl
不支持旧的 Excel 格式(如.xls
)。如果你需要处理这种格式的文件,可以考虑使用xlrd
或pandas
(后者依赖于xlrd
或openpyxl
来处理 Excel 文件)。- 在处理大型 Excel 文件时,请注意内存使用情况。如果文件非常大,可能需要考虑使用其他工具或方法来处理数据。
二、pdfplumber模块
pdfplumber
是一个用于从 PDF 文件中提取文本、图像和表格的 Python 库。它提供了简单的 API,使得处理 PDF 文件变得更加容易。
2-1、安装pdfplumber模块
pip install pdfplumber