当前位置: 主页 > Python语言

python 读取excel数据-python xlrd读取excel

发布时间:2023-02-09 11:24   浏览次数:次   作者:佚名

本文为大家带来了python的相关知识,主要介绍了pdfplumber读取PDF和写入Excel的相关问题,包括pdfplumber模块的安装,加载PDF,以及一些实战操作等,一起来看看吧,希望这将对每个人都有帮助。

python xlrd读取excel_python 读取excel数据_python读取excel到字典

推荐学习:python视频教程

1.Python操作PDF 13库对比

PDF(便携式文档格式)是一种便携式文档格式,有助于跨操作系统传播文档。 PDF文档遵循一个标准的格式,所以可以操作PDF文档的工具有很多,Python也不例外。

Python操作PDF模块对比图如下:

在这里插入图片描述

本文主要介绍pdfplumber专注于PDF内容提取,如文本(位置、字体和颜色等)和形​​状(矩形、直线、曲线),以及解析表格的功能。

二、pdfplumber模块

其他几个 Python 库可帮助用户从 PDF 中提取信息。 作为一个广泛的概述,pdfplumber 通过结合以下功能将自己与其他 PDF 处理库区分开来:

一、安装

cmd控制台输入:

pip install pdfplumber

导游套餐:

import pdfplumber

案例PDF截图(两页未截):

在这里插入图片描述

2.加载PDF

阅读PDF代码:pdfplumber.open("path/filename.pdf", password = "test", laparams = { "line_overlap": 0.7 })

参数释义:

案例代码:

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:
    print(pdf)
    print(type(pdf))

输出结果:

3.pdfplumber.PDF类

pdfplumber.PDF 类表示单个 PDF 并具有两个主要属性:

属性描述

.元数据

从 PDF 的信息中获取元数据键/值对的字典。 通常包括“CreationDate”、“ModDate”、“Producer”等。

.pages

返回包含 pdfplumber.Page 实例的列表,每个实例代表 PDF 每一页上的信息

1、读取PDF文档信息(.metadata):

python读取excel到字典_python 读取excel数据_python xlrd读取excel

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:
    print(pdf.metadata)

运行结果:

{'Author': 'wangwangyuqing', 'Comments': '', 'Company': '', 'CreationDate': "D:20220330113508+03'35'", 'Creator': 'WPS 文字', 'Keywords': '', 'ModDate': "D:20220330113508+03'35'", 'Producer': '', 'SourceModified': "D:20220330113508+03'35'", 'Subject': '', 'Title': '', 'Trapped': 'False'}

2.输出总页数

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:
    print(len(pdf.pages))

运行结果:

2

4.pdfplumber.Page类

pdfplumber.Page 类是 pdfplumber 的核心。 大多数操作都围绕这个类。 它具有以下属性:

属性描述

.page_number

连续页码,第一页从 1 开始,第二页从 2 开始,依此类推。

。宽度

页面的宽度。

。高度

页面的高度。

.objects/.chars/.lines/.rects/.curves/.figures/.images

这些属性中的每一个都是一个列表python 读取excel数据,每个列表都包含嵌入页面上每个此类对象的字典。 有关详细信息,请参阅下面的“对象”。

常用方法如下:

方法名称说明

.extract_text()

用于提取页面中文本的字符串,将页面的所有字符对象组织成

.extract_words()

返回所有单词及其相关信息

.extract_tables()

提取页面的形式

。印象()

用于可视化调试时,返回 PageImage 类的实例

。关闭()

默认情况下,Page 对象会缓存其布局和对象信息以避免对其进行重新处理。 但是,这些缓存属性在解析大型 PDF 时可能需要大量内存。 您可以使用此方法刷新缓存并释放内存。

1.读取首页宽高等信息

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:

python xlrd读取excel_python 读取excel数据_python读取excel到字典

first_page = pdf.pages[0] # pdfplumber.Page对象的第一页 # 查看页码 print('页码:', first_page.page_number) # 查看页宽 print('页宽:', first_page.width) # 查看页高 print('页高:', first_page.height)

运行结果:

页码: 1页宽: 595.3页高: 841.9

2.阅读第一页课文

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:
    first_page = pdf.pages[0]  # pdfplumber.Page对象的第一页
    text = first_page.extract_text()
    print(text)

运行结果:

店铺名 价格 销量 地址
小罐茶旗舰店 449 474 安徽
零趣食品旗舰店 6.9 60000 福建
天猫超市 1304 3961 上海
天猫超市 139 25000 上海
天猫超市 930 692 上海
天猫超市 980 495 上海
天猫超市 139 100000 上海
三只松鼠旗舰店 288 25000 安徽
红小厨旗舰店 698 1767 北京
三只松鼠旗舰店 690 15000 安徽
一统领鲜旗舰店 1098 1580 上海
新大猩食品专营9.8 7000 湖南.......舰店
蟹纳旗舰店 498 1905 上海
三只松鼠坚果at茶 188 35000 安徽
嘉禹沪晓旗舰店 598 1517 上海

3.阅读表格的第一页

import pdfplumberimport xlwtwith pdfplumber.open("1.pdf") as pdf:
    page_one = pdf.pages[0]  # PDF第一页

python 读取excel数据_python读取excel到字典_python xlrd读取excel

table_1 = page_one.extract_table() # 读取表格数据 # 1. 创建Excel表对象 workbook = xlwt.Workbook(encoding='utf8') # 2. 新建sheet表 worksheet = workbook.add_sheet('Sheet1') # 3. 自定义列名 col1 = table_1[0] # print(col1)# ['店铺名', '价格', '销量', '地址'] # 4. 将列属性元组col写进sheet表单中第一行 for i in range(0, len(col1)): worksheet.write(0, i, col1[i]) # 5. 将数据写进sheet表单中 for i in range(0, len(table_1[1:])): data = table_1[1:][i] for j in range(0, len(col1)): worksheet.write(i + 1, j, data[j]) # 6. 保存文件分两种格式 workbook.save('test.xls')

运行结果:

在这里插入图片描述

三、实战操作 1、提取单个PDF的所有页面

测试代码:

import pdfplumberimport xlwtwith pdfplumber.open("1.pdf") as pdf:
    # 1. 把所有页的数据存在一个临时列表中
    item = []
    for page in pdf.pages:
        text = page.extract_table()
        for i in text:
            item.append(i)
    # 2. 创建Excel表对象
    workbook = xlwt.Workbook(encoding='utf8')
    # 3. 新建sheet表
    worksheet = workbook.add_sheet('Sheet1')
    # 4. 自定义列名

python读取excel到字典_python 读取excel数据_python xlrd读取excel

col1 = item[0] # print(col1)# ['店铺名', '价格', '销量', '地址'] # 5. 将列属性元组col写进sheet表单中第一行 for i in range(0, len(col1)): worksheet.write(0, i, col1[i]) # 6. 将数据写进sheet表单中 for i in range(0, len(item[1:])): data = item[1:][i] for j in range(0, len(col1)): worksheet.write(i + 1, j, data[j]) # 7. 保存文件分两种格式 workbook.save('test.xls')

运行结果(以上不完整):

在这里插入图片描述

2.批量提取多个PDF文件

在这里插入图片描述

测试代码:

import pdfplumber
import xlwt
import os
# 一、获取文件下所有pdf文件路径
file_dir = r'E:\Python学习\pdf文件'
file_list = []
for files in os.walk(file_dir):
    # print(files)
    # ('E:\\Python学习\\pdf文件', [],
    #  ['1.pdf', '1的副本.pdf', '1的副本10.pdf', '1的副本11.pdf', '1的副本2.pdf', '1的副本3.pdf', '1的副本4.pdf', '1的副本5.pdf', '1的副本6.pdf',
    #   '1的副本7.pdf', '1的副本8.pdf', '1的副本9.pdf'])
    for file in files[2]:
        # 以. 进行分割如果后缀为PDF或pdf就拼接地址存入file_list
        if file.split(".")[1] == 'pdf' or file.split(".")[1] == 'PDF':
            file_list.append(file_dir + '\\' + file)

python xlrd读取excel_python 读取excel数据_python读取excel到字典

# 二、存入Excel # 1. 把所有PDF文件的所有页的数据存在一个临时列表中 item = [] for file_path in file_list: with pdfplumber.open(file_path) as pdf: for page in pdf.pages: text = page.extract_table() for i in text: item.append(i) # 2. 创建Excel表对象 workbook = xlwt.Workbook(encoding='utf8') # 3. 新建sheet表 worksheet = workbook.add_sheet('Sheet1') # 4. 自定义列名 col1 = item[0] # print(col1)# ['店铺名', '价格', '销量', '地址'] # 5. 将列属性元组col写进sheet表单中第一行 for i in range(0, len(col1)): worksheet.write(0, i, col1[i]) # 6. 将数据写进sheet表单中 for i in range(0, len(item[1:])): data = item[1:][i] for j in range(0, len(col1)): worksheet.write(i + 1, j, data[j]) # 7. 保存文件分两种格式 workbook.save('test.xls')

运行结果(12个文件,一个文件50行python 读取excel数据,共600行):

在这里插入图片描述

推荐学习:python视频教程

以上就是Python例子pdfplumber读取PDF写入Excel的详细解释。 更多内容请关注php中文网其他相关文章!

免责声明:本文转载于:CSDN,如有侵权请联系admin@php.cn删除

话题推荐:python

上一篇:Python装饰器知识点总结下一篇:自己写PHP MVC框架(40章精讲/大大小小/进阶新人必看)