python批量统计pdf词频

手上由按照年份分类的社会责任报表pdf文件(具体报表名字是其股票代码),想要实现统计所有年份报告中自定义关键词出现次数

以下回答结合了ChatGPT:
你可以使用Python中的pdfminer库来读取PDF文件并提取文本内容,然后再使用Python中的字符串操作函数和正则表达式来统计关键词出现的次数。

以下是一个示例代码,假设你要统计的关键词是"关键词1"和"关键词2":

import os
import re
from collections import Counter
from pdfminer.high_level import extract_text

keywords = ["关键词1", "关键词2"]
results = {}

# 按照年份分类的pdf文件夹路径
pdf_folder = "/path/to/pdf/folder"

# 遍历pdf文件夹中的所有pdf文件
for filename in os.listdir(pdf_folder):
    if filename.endswith(".pdf"):
        # 读取pdf文件中的文本内容
        text = extract_text(os.path.join(pdf_folder, filename))
        # 统计关键词出现的次数
        counts = Counter(re.findall(r"\b(" + "|".join(keywords) + r")\b", text))
        # 将统计结果添加到字典中
        results[filename] = counts

# 输出统计结果
for filename, counts in results.items():
    print("File:", filename)
    for keyword in keywords:
        print(keyword, ":", counts[keyword])

代码中使用pdfminer库中的extract_text函数来提取PDF文件的文本内容,然后使用正则表达式来统计关键词出现的次数。最后将统计结果保存到一个字典中,并输出到控制台。你可以根据自己的需求修改代码,例如更改关键词列表、文件夹路径等。

首先,你需要把pdf的内容读取出来,这个要看pdf的格式了
然后加入字典,key是关键字,value是次数
最后输出

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^