手上由按照年份分类的社会责任报表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是次数
最后输出
这里因为我不太会ps就不放我的图片了,我用的图片涉及个人信息了