如何用pypdf提取PDF表单键值对并高效生成pandas DataFrame?
高效生成PDF表单数据的Pandas DataFrame
针对你用pypdf提取PDF表单数据后生成DataFrame的需求,完全可以用字典推导式+Pandas内置方法一步到位,避免繁琐的循环操作:
优化代码实现
from pypdf import PdfReader import pandas as pd # 读取PDF表单 f = PdfReader('test_formulaire.pdf') ffields = f.get_fields() # 1. 提取字段名和对应值,构建数据字典 form_data = {field_name: field.value for field_name, field in ffields.items()} # 2. 生成单行DataFrame df = pd.DataFrame([form_data])
代码说明
- 字典推导式
{field_name: field.value ...}直接遍历ffields的键值对,自动把字段名作为键,字段值作为对应值,比手动循环收集列名+填充数据高效得多。 - 将字典放进列表
[form_data]传给pd.DataFrame(),Pandas会自动把字典的键作为列名,对应值作为单行数据,不管值是数字还是字符串都能正确识别类型。
对比原方法的优势
- 省去了手动创建空列名列表、循环赋值列名的冗余步骤
- 一行代码完成数据转换,逻辑更清晰,可读性更强
- 自动适配字段数量的变化,不用手动调整列表长度
内容的提问来源于stack exchange,提问作者SylvainC
相关产品推荐
相关产品推荐

