解决pdfplumber解析出来日期出错问题

解决pdfplumber解析出来日期出错问题

使用pdfplumber库解析pdf文档时会出现日期的错乱,即年月日在一行,但具体数字在下一行。错误类型如下:

原文:发行日期位2023年4月5日

pdfplumber库解析出来效果如下:

发行日期位 年 月 日

2023 4 5

解决办法如下,把解析出来的文本传入这个函数中,解析请按行解析,并保留换行符。

python 复制代码
def pdf(text):
    lines = text.split("\n")
    result_text = []
    for i in range(0, len(lines)-1):
        characters1 = [char for char in lines[i]]
        characters2 = lines[i+1].split()

        # 遍历列表中的每个元素
        for item in characters2:
            # 判断元素是否只包含字母和数字
            if not item.isalnum():
                break
        else:
            # 创建一个空列表来存储空格元素的索引
            space_indexes = []
            if characters1[0] == '年':
                characters1.insert(0, ' ')
            # 使用enumerate()函数遍历列表,并获取空格元素的索引
            for index, item in enumerate(characters1):
                if item == ' ':
                    space_indexes.append(index)

            for k, j in zip(space_indexes, characters2):
                characters1[k] = j
            result = ''.join(characters1)
            result_text.append(result)
    wenben = ''.join(result_text)
    return wenben

def paqu(url):
    header={
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"}
    res = requests.get(url=url, headers=header)
    result = res.content
    # 使用pdfplumber提取文字
    if result == b'':
        text = "*"
    else:
        with pdfplumber.open(io.BytesIO(result), strict_metadata=False) as pdf:
            text = ""
            for page in pdf.pages:
                for line in page.extract_text().split('\n'):
                    if line.strip():  # 去除空行
                        text += line + '\n'
    return text
相关推荐
轻舟行73 分钟前
langchain从入门到入土 (一)langchain的历程及应用场景
人工智能·python·langchain
WeeJot嵌入式3 分钟前
[特殊字符] Anaconda被误删后抢救手册:从绝望到重生的完整指南
开发语言·python
vx_biyesheji00016 分钟前
计算机毕业设计:Python汽车数据分析系统 Django框架 requests爬虫 可视化 车辆 数据分析 大数据 机器学习(建议收藏)✅
爬虫·python·算法·机器学习·django·汽车·课程设计
vx_biyesheji00018 分钟前
计算机毕业设计:基于Python的汽车信息可视化系统 Django框架 Scrapy爬虫 可视化 车辆 懂车帝大数据 数据分析 机器学习(建议收藏)✅
python·信息可视化·django·flask·汽车·课程设计·美食
紫丁香15 分钟前
02-Flask路由系统与URL映射机制深度解析
后端·python·flask
紫丁香19 分钟前
01-Flask应用结构与核心对象深度解析
后端·python·flask
福运常在20 分钟前
股票数据API如何获取(20)炸板股池数据
java·python·maven
SunnyDays101128 分钟前
如何使用 Python 操作 Excel 图片:插入、提取与压缩
python·excel·提取图片·压缩图片·插入图片到excel·删除图片
庄小法35 分钟前
pytest
开发语言·python·pytest
sonnet-102936 分钟前
堆排序算法
java·c语言·开发语言·数据结构·python·算法·排序算法