首先很抱歉,如果这是在错误的部分中,因为这不是编码问题,我不知道将其放在哪一部分。
我的问题是:
比方说,我创建了一个网络抓取工具,该抓取工具从求职发布网站提取所有信息。该信息如下所示:
Row 1 - Company X , Computer engineer
Row 2 - Company X , Civil engineer
Row 2 - Company Y , Data Scientist
Row 3 - Company Z , Data Analyst
我想用python甚至是excel创建一些东西,如果该标记更容易自动排成一行或根据一些预定的单词给公司打分。
如果工程师是有问题的单词,那么分数将是:
Company X = 2 , Company Y = 0 , Company Z = 0
如果您需要任何细节,请不要犹豫。我应该如何在线搜索任何答案? NLP或Regex可以帮助我吗?
谢谢!
答案 0 :(得分:0)
正则表达式足以解决您的问题。首先,您应该优化抓取的数据,使其格式相当稳定,然后可以使用正则表达式提取数据。这是您的数据示例:
import re
from pprint import pprint
REGEX = re.compile(r'Row (?P<row>\d+) *- *Company (?P<company>\S+) *, *(?P<profession>.*)')
rows = [
'Row 1 - Company X , Computer engineer',
'Row 2 - Company X , Civil engineer',
'Row 2 - Company Y , Data Scientist',
'Row 3 - Company Z , Data Analyst'
]
found_data = []
for row in rows:
found = REGEX.match(row)
if found:
found_data.append([
found.group('row'),
found.group('company'),
found.group('profession')
])
pprint(found_data)
[['1', 'X', 'Computer engineer'], ['2', 'X', 'Civil engineer'], ['2', 'Y', 'Data Scientist'], ['3', 'Z', 'Data Analyst']]