python读取pdf并写入excel_Python读取pdf表格写入excel的方法

背景

今天突然想到之前被要求做同性质银行的数据分析。妈耶!十几个银行,每个银行近5年的财务数据,而且财务报表一般都是 pdf 的,我们将 pdf 中表的数据一个个的拷贝到 excel 中,再借助 excel 去进行求和求平均等聚合函数操作,完事了还得把求出来的结果再统一 CV 到另一张表中,进行可视化分析…

当然,那时风流倜傥的 老Amy 还熟练的玩转着 excel ,也是个秀儿~ 今天就思索着,如果当年我会 Python 是不是可以让我成为班级最靓的崽!用技术占领高地,HHH,所以今天我来了,希望可以帮助大家解决同性质的问题。

开始学习叭

避免CV大法

pdf 文件的表格的数据可以复制,但是这是一项非常繁琐的事情。所以我首先考虑的是,Python 可否帮助我们高效且规范地读取 pdf 中的表格数据。所以一顿的检索,发现了一个比较优质处理 pdf 的库:pdfplumber,当然这个库需要大家 pip install pdfplumber 去进行安装。以及详细使用可参考全球最大基友社区:https://github.com/jsvine/pdfplumber

步骤:

导入 pdfplumber 库

通过 pdfplumber.open() 函数 获取 mt2018.pdf 文件对象

通过该 对象.pages 获取 pdf 每页的对象,截取我们需要的页对象即可

通过 页对象.extract_tables() 获取表格数据(若需要获取文本:页对象.extract_text())

代码实现:

import pdfplumber

# 获取 pdf

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 Python 读取 PDF写入 Excel,可以使用第三方库,例如: 1. PyPDF2:用于读取 PDF 文件内容 2. pandas:用于将 PDF 文件内容存储到 DataFrame 中,并写入 Excel 文件 3. openpyxl:用于读写 Excel 文件 代码示例: ``` import PyPDF2 import pandas as pd # 读取 PDF 文件内容 pdfFileObj = open('sample.pdf', 'rb') pdfReader = PyPDF2.PdfFileReader(pdfFileObj) text = '' for page in range(pdfReader.numPages): text += pdfReader.getPage(page).extractText() pdfFileObj.close() # 将 PDF 文件内容存储到 DataFrame 中 df = pd.DataFrame({'text': [text]}) # 写入 Excel 文件 df.to_excel('sample.xlsx', index=False) ``` ### 回答2: Python是一门非常强大的编程语言,它可以用于多种任务,其中包括读取PDF文件并将其写入Excel。如果你想实现这个功能,下面的步骤可以帮助你完成这个任务。 步骤一:安装必要的Python库 要读取PDF文件,你需要安装一个名为PyPDF2的Python库。这个库也可以用来编写PDF文件。安装这个库的命令是: `pip install PyPDF2` 另外,你还需要安装一个名为openpyxl的Python库,它可以用来编写Excel文件。安装这个库的命令是: `pip install openpyxl` 步骤二:使用Python读取PDF文件 使用Python读取PDF文件很容易。只需使用下面的代码: ``` import PyPDF2 pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) page = pdf_reader.getPage(0) text = page.extractText() print(text) pdf_file.close() ``` 这段代码使用了PyPDF2库打开了一个名为example.pdfPDF文件。然后,它使用PdfFileReader方法读取PDF文件中的页面。接下来,它提取了第一页的文本,并将其打印到屏幕上。 步骤三:使用Python编写Excel文件 使用Python编写Excel文件同样也很容易。只需使用下面的代码: ``` import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = 'Hello' sheet['B1'] = 'World' wb.save('example.xlsx') ``` 这段代码创建了一个名为example.xlsx的Excel文件,并在其中编写了“Hello”和“World”两个单元格。最后,这个代码将修改后的Excel文件保存到磁盘上。 步骤四:将PDF文本写入Excel文件中 要将PDF文件中的文本写入Excel文件中,你需要将步骤二和步骤三中的代码组合在一起。下面是一个实现示例: ``` import PyPDF2 import openpyxl pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) text = '' for page in range(pdf_reader.getNumPages()): current_page = pdf_reader.getPage(page) text += current_page.extractText() pdf_file.close() wb = openpyxl.Workbook() sheet = wb.active sheet['A1'] = text wb.save('example.xlsx') ``` 这个代码打开PDF文件,将所有页面的文本提取到一个字符串中,并将文本写入Excel文件中。最后,它将Excel文件保存到磁盘上。 总结 Python是一门强大的编程语言,用于读取PDF文件并将其写入Excel文件非常容易。你只需要使用PyPDF2库读取PDF文件的内容,并使用openpyxl库编写Excel文件即可。这个过程很简单,但可以为你的工作带来很大的便利。 ### 回答3: Python是一种易于学习的编程语言,经常用于数据分析和自动化处理。如果需要将PDF文件的内容提取写入Excel表格中,Python可以轻松实现这个任务。接下来,我将介绍如何使用Python读取PDF文件并将其写入Excel。 1. 安装必要的Python库 在开始之前,我们需要安装一些必要的Python库来处理PDFExcel文件,可以使用以下命令: pip install PyPDF2 pip install openpyxl 其中,PyPDF2库用于处理PDF文件,而openpyxl用于处理Excel文件。 2. 读取PDF文件 要读取PDF文件,我们可以使用PyPDF2库。以下代码展示如何打开一个PDF文件并提取所有页的文本内容: ``` import PyPDF2 pdf_file = open('example.pdf', 'rb') pdf_reader = PyPDF2.PdfFileReader(pdf_file) page_count = pdf_reader.numPages all_text = '' for i in range(page_count): page = pdf_reader.getPage(i) text = page.extractText() all_text += text pdf_file.close() print(all_text) ``` 上述代码打开一个名为“example.pdf”的PDF文件,并提取所有页中的文本内容,将其放入名为“all_text”的字符串变量中。注意,在使用完毕后需要关闭文件句柄。 3. 写入Excel文件 要将PDF文件的内容写入Excel表格中,我们可以使用openpyxl库。以下代码展示如何创建一个Excel工作簿、工作表、以及写入数据至单元格: ``` import openpyxl wb = openpyxl.Workbook() ws = wb.active ws['A1'] = 'PDF内容' ws['B1'] = '其他列' row = 2 for line in all_text.split('\n'): ws.cell(row=row, column=1, value=line) row += 1 wb.save('example.xlsx') ``` 该代码使用openpyxl创建一个Excel工作簿,然后向其中添加一个名为“PDF内容”的列和另外一些列。接着,通过分割刚才提取PDF内容字符串中的换行符,将每行文本一个一个写入Excel表格中的第一列。最终请注意保存Excel工作簿。 以上就是使用Python读取PDF文件并将其写入Excel表格方法,这一过程需要安装必要的库,并且需要一些编程知识和技巧。但一旦你熟练掌握了这些技能,读取文件和处理数据的任务将变得轻松而愉快。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值