【发布时间】:2020-04-04 01:45:10
【问题描述】:
我正在尝试在 python 中解析简历的技能部分。我找到了 Omkar Pathak 先生的一个名为 pyresparser 的库,我能够将 PDF 简历的内容提取到 resume.txt 文件中。
但是,我想知道如何仅将简历中的技能部分提取到一个列表中,然后将该列表可能写入到 query.txt 文件中。
我正在将 resume.txt 的内容读入一个列表,然后将其与一个名为 Skills 的列表进行比较,该列表存储从 Skill.cv 文件中提取的内容。目前,技能列表是空的,我想知道如何将技能存储到该列表中?这是正确的方法吗?非常感谢任何帮助,谢谢!
import string
import csv
import re
import sys
import importlib
import os
import spacy
from pyresparser import ResumeParser
import pandas as pd
import nltk
from spacy.matcher import matcher
import multiprocessing as mp
def main():
data = ResumeParser("C:/Users/infinitel88p/Downloads/resume.pdf").get_extracted_data()
print(data)
# Added encoding utf-8 to prevent unicode error
with open("C:/Users/infinitel88p/Downloads/resume.txt", "w", encoding='utf-8') as rf:
rf.truncate()
rf.write(str(data))
print("Resume results are getting printed into resume.txt.")
# Extracting skills
resume_list = []
skill_list = []
data = pd.read_csv("skills.csv")
skills = list(data.columns.values)
resume_file = os.path.dirname(__file__) + "/resume.txt"
with open(resume_file, 'r', encoding='utf-8') as f:
for line in f:
resume_list.append(line.strip())
for token in resume_list:
if token.lower() in skills:
skill_list.append(token)
print(skill_list)
if __name__ == "__main__":
main()
【问题讨论】:
-
好吧,我注意到了几件事,你正在打开“/resume.txt”中的文件,这表明该文件位于硬盘驱动器的根文件夹中,然后阅读它查看同一个文件夹作为你的python文件,这很奇怪且不一致。此外,您正在阅读简历文件中的每一行“skills.csv”,这似乎是一个缩进问题。
-
感谢您对代码的“skills.csv”部分的评论!我编辑了我的帖子以反映这一变化。但是,我想知道您的意思是“阅读它时查看与您的 python 文件相同的文件夹”。我对python相当陌生,所以只是为了澄清我上面的代码,我试图将“resume.txt”中提取的简历内容读入我的resume_list。然后,我将 resume_list 中的标记与“skills.csv”中的技能进行比较。然后将匹配“skills.csv”的技能存储到技能列表中。
-
以
/开头的路径是绝对路径,因此open("/resume.txt", "w")将尝试在文件系统的根目录下创建一个文件,然后您执行`os.path.dirname(文件) + "/resume.txt"` 正在抓取当前文件夹并在该文件夹中抓取resume.txt。我希望这会抛出一个错误,说“resume.txt”不存在,因为您是从不同的地方加载的,除非您的 python 脚本也在文件系统的根目录中,在这种情况下os.path.dirname(__file__)将是一个空字符串,这只会给我带来混乱。 -
最后一件事通常是为代码中的各种变量添加打印语句,并找出代码出错的地方。特别是您说您正在浏览简历中的每个“令牌”,但您的循环看起来像是您正在浏览文件中的每个 line ,所以您的
token变量可能是几个单词并且您想要是不是更分裂了? -
好的,我明白了我可能不小心给您造成的混乱,所以我再次编辑了文件路径。我肯定会尝试更多地拆分令牌,所以再次感谢您!
标签: python python-3.x parsing