如何从PDF提取的列表中提取指定内容并转换为Pandas DataFrame
实现方法
可以通过正则表达式提取目标内容,再转换为Pandas DataFrame,具体步骤如下:
1. 导入依赖库
import re import pandas as pd
2. 定义正则匹配规则
用正则精准匹配百分比和后续内容:
(\d+%):匹配数字加%的百分比部分.*?([^\s].*):跳过%符号后可能的空格,提取从第一个非空格字符开始的全部内容(支持含1-2个特殊字符的情况)
3. 遍历列表提取数据
data_list = ['some random sentence','some random sentence 25% •Assignments for week1', 'some random sentence','some random sentence 20% •Exam for week2','some random sentence', 'some random sentence'] extracted = [] pattern = re.compile(r'(\d+%).*?([^\s].*)') for item in data_list: match = pattern.search(item) if match: extracted.append({ '百分比': match.group(1), '对应内容': match.group(2).strip() })
4. 转换为DataFrame
df = pd.DataFrame(extracted) print(df)
运行后输出的DataFrame示例:
百分比 对应内容 0 25% •Assignments for week1 1 20% •Exam for week2
如果需要移除内容开头的特殊符号(比如•),可以把match.group(2).strip()替换为match.group(2).strip('• ')。
内容的提问来源于stack exchange,提问作者Ritesh Kankonkar
相关产品推荐
相关产品推荐

