栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

码力十足学量化|如何在财务报告寻找合适的财务公告

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

码力十足学量化|如何在财务报告寻找合适的财务公告

做投资,我们经常要阅读公告,如何对公告进行解读呢?本文将遍历一个文件夹里的所有的理财公告
PDF文件,通过PDF文本解析对理财公告进行深度筛选,获取符合要求的公告内容。

1.首先遍历文件夹里所有的PDF文件,拼接出需要的pdf的文件位置。然后把他们放在一个列表里面,方便之后调用。

import os
import pdfplumber

path= r"C:Users86186PycharmProjectsonlinespiderrequests财务报表" # 财务报表储存路径

# 寻找文件夹下所有pdf文件路径
file_list=[]
for files in os.walk(path):  # 遍历路径下所有文件夹
    for file in files[2]: # 遍历路径下所有文件
        if os.path.splitext(file)[1]=='.pdf' or os.path.splitext(file)[1]=='.PDF': # 检查文件后缀名

            file_list.append(path+"\"+file)  # 拼接文件路径
print(file_list)

2.遍历所有pdf里面的内容,然后用pdfplumber函数获取文本里面的内容,将所有的文本内容拼接到一起。

# PDF文本解析和筛选出正文中的内容
pdf_all=[]
for i in range(len(file_list)):
    pdf=pdfplumber.open(file_list[i])  # 打开每个pdf文件
    pages=pdf.pages
    text_all=[]
    for page in pages:  # 遍历每一页的信息
        text=page.extract_text() # 提取当前页的文本内容
        text_all.append(text) # 将每一页的内容汇集到一起
    text_all="".join(text_all) # 把列表转换为字符串
    pdf.close()

3.对遍历后得到的文本内容进行分析,这里写的关键字筛选,只有当PDF文件里含有“自有”,“议案”,“理财”和“现金管理”
,将这些文件筛选出来。这里大家可以通过自然语言和机器学习来进行更有深度的分析。

    if ("增持"in text_all) or ("现金管理" in text_all) or ("理财" in text_all):
        pdf_all.append(file_list[i])
print(pdf_all)  # 打印筛选出的pdf文件

4.筛选出来后,将筛选出来的PDF文件执行移动操作,创建一个新的文件路径,然后将筛选出来的PDF文件移动到新的文件夹里。

# 移动筛选后pdf文件
for pdf_i in pdf_all:
    new_path=r"C:\Users\86186\PycharmProjects\online\spider\requests\筛选后的文件夹\"+pdf_i.split('\')[-1]
    os.rename(pdf_i,new_path) # 执行文件的移动操作
print("PDF文本解析及筛选完毕!")

5.完成代码

import os
import pdfplumber

path= r"C:Users86186PycharmProjectsonlinespiderrequests财务报表" # 财务报表储存路径

# 寻找文件夹下所有pdf文件路径
file_list=[]
for files in os.walk(path):  # 遍历路径下所有文件夹
    for file in files[2]: # 遍历路径下所有文件
        if os.path.splitext(file)[1]=='.pdf' or os.path.splitext(file)[1]=='.PDF': # 检查文件后缀名

            file_list.append(path+"\"+file)  # 拼接文件路径
print(file_list)

# PDF文本解析和筛选出正文中的内容
pdf_all=[]
for i in range(len(file_list)):
    pdf=pdfplumber.open(file_list[i])  # 打开每个pdf文件
    pages=pdf.pages
    text_all=[]
    for page in pages:  # 遍历每一页的信息
        text=page.extract_text() # 提取当前页的文本内容
        text_all.append(text) # 将每一页的内容汇集到一起
    text_all="".join(text_all) # 把列表转换为字符串
    pdf.close()

# 筛选正文中的内容
    if ("增持"in text_all) or ("现金管理" in text_all) or ("理财" in text_all):
        pdf_all.append(file_list[i])
print(pdf_all)  # 打印筛选出的pdf文件

# 移动筛选后pdf文件
for pdf_i in pdf_all:
    new_path=r"C:\Users\86186\PycharmProjects\online\spider\requests\筛选后的文件夹\"+pdf_i.split('\')[-1]
    os.rename(pdf_i,new_path) # 执行文件的移动操作
print("PDF文本解析及筛选完毕!")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993967.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号