python批量提取同一目录下所有PDF电子发票信息转存到EXCEL
时间: 2024-10-01 10:09:15 浏览: 43
在Python中,你可以使用`PyPDF2`库来处理PDF文件,并结合`pandas`库来创建Excel文件。这里是一个简单的步骤指南:
首先,确保安装了所需的库,如果没有,可以使用pip安装:
```bash
pip install PyPDF2 pandas openpyxl
```
接下来,编写一个Python脚本来批量提取PDF文件中的数据并转换到Excel:
```python
import os
import PyPDF2
import pandas as pd
# 定义函数来读取单个PDF并提取相关信息
def extract_info_from_pdf(pdf_path):
with open(pdf_path, 'rb') as file:
pdf = PyPDF2.PdfFileReader(file)
info = []
for page_num in range(pdf.getNumPages()):
# 假设发票信息在第一页
text = pdf.getPage(page_num).extractText()
# 根据实际结构解析文本,提取你需要的数据,例如:
invoice_data = {'发票号码': text.split('发票号码:')[1].split('\n')[0],
'金额': text.split('金额:')[1].split('\n')[0]}
info.append(invoice_data)
return info
# 定义工作目录和目标Excel文件名
dir_path = 'your_directory_path' # 替换为你需要提取的PDF文件夹路径
output_file = 'invoices.xlsx'
# 遍历目录下的所有PDF文件
pdf_files = [f for f in os.listdir(dir_path) if f.endswith('.pdf')]
data_list = []
for pdf in pdf_files:
data_list.extend(extract_info_from_pdf(os.path.join(dir_path, pdf)))
# 将数据列表转换为DataFrame并保存到Excel
df = pd.DataFrame(data_list)
df.to_excel(output_file, index=False)
阅读全文