You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PDF提取的非结构化数据第一列重复内容转为Python DataFrame表头

实现方法

你提取到的原始表格是长表结构,每3行对应一个用户的完整属性,可按以下步骤处理:

  1. 导入依赖并读取原始HTML表格数据
import pandas as pd

# 此处替换为你从PDF提取到的HTML字符串变量
pdf_extracted_html = """
<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th style="text-align: left;">1</th>
<th style="text-align: right;">2</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: right;">Mike</td>
</tr>
<tr>
<td style="text-align: left;">age</td>
<td style="text-align: right;">18</td>
</tr>
<tr>
<td style="text-align: left;">sex</td>
<td style="text-align: right;">M.</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: right;">Angel</td>
</tr>
<tr>
<td style="text-align: left;">age</td>
<td style="text-align: right;">21</td>
</tr>
<tr>
<td style="text-align: left;">sex</td>
<td style="text-align: right;">F.</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: right;">Brod</td>
</tr>
<tr>
<td style="text-align: left;">age</td>
<td style="text-align: right;">34</td>
</tr>
<tr>
<td style="text-align: left;">sex</td>
<td style="text-align: right;">M.</td>
</tr>
</tbody>
</table>
</div>
"""
raw_df = pd.read_html(pdf_extracted_html)[0]
  1. 拆分分组转换为目标结构
# 按每3行一组拆分,每组对应1个用户的所有属性
user_groups = raw_df.groupby(raw_df.index // 3)
# 生成新DataFrame,手动指定表头保证顺序准确
result_df = pd.DataFrame(
    [group[1].iloc[:, 1].values for group in user_groups],
    columns=['name', 'age', 'sex']
)

处理完成后的result_df输出效果如下:

nameagesex
Mike18M.
Angel21F.
Brod34M.

内容的提问来源于stack exchange,提问作者Panda Akai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:15:03