python - 如何使用pdfplumber将表格详细信息提取到行和列中
问题描述
我正在使用 pdfplumber 从 pdf 中提取表格。但是使用的表格没有可见的垂直线分隔内容,因此提取的数据分为 3 行和 1 个巨大的列。
我希望上表有 13 行。
import pdfplumber
import pandas as pd
import numpy as np
with pdfplumber.open('test.pdf') as pdf:
page = pdf.pages[0]
tables = page.extract_tables()
print(tables)
从文档中我无法理解是否有可以应用的特定表格设置。我尝试了一些,但没有帮助。
解决方案
使用extract_tables()
选项时请添加以下设置(这可能需要根据您的输入文件进行更改):
import pdfplumber
import pandas as pd
import numpy as np
with pdfplumber.open(r'document.pdf') as pdf:
page = pdf.pages[0]
table = page.extract_table(table_settings={"vertical_strategy": "lines",
"horizontal_strategy": "text",
"snap_tolerance": 4,})
df = pd.DataFrame(table, columns=table[0]).T
Morover,请阅读pdfplumber
文档(提取表)部分,因为在您的输入文件中的代码中包含许多选项:
推荐阅读
- php - 在 laravel 中创建类别和子类别
- jquery - 在 Elementor Pro 弹出窗口中使用联系表 7 的问题
- javascript - 音乐机器人问题 discord.js
- cursor - 如何检测键盘中选择的语言
- html - 使用 Thymeleaf 显示图像 - Spring Boot
- pine-script - 能够在交易策略中使用交易量配置文件
- python - PyCharm 中是否有 HTML 块 {%%} 的快捷方式?
- c# - “无法建立连接,因为目标机器主动拒绝它” Nethereum 异常
- java - 使用 spring boot 和 postgres 的休眠 oneToMany 问题
- r - makeClusterPSOCK ERROR 工作人员无法连接