我试图把这句话分成两栏(评论和感情)。
让我们假设我们有一句话:
嗨..。我每小时挣7点50,也就是每小时7.5美元。正向
在这里,“积极”是情绪,前者是评论。
i)如果我使用‘’,我不能使用\s作为分隔符,将句子分成两列(评论、感伤) ii)。作为分隔符,然后多次出现“.”。出现在句子里。
我已经编写了一段代码来删除“.”的多次出现。守则如下:
def clean(sentence):
clear = re.sub(r"[,|\"|\"|\'|\'|\-|!|?|\/|*|:|\\|\(|\)|;|$]",'', sentence)
clear1 = re.sub(r'(\W)\1+',' ', clear)
[' '.join(clear1.split())]可以删除“.”在"hi“一词之后,但"i.e”和"$7.50“没有出现。
我想要的结果是:
评论:嗨,我每小时赚7点50英镑,我是7点50小时。
情绪:正面
我的产出是:
嗨,我每小时挣7点50,也就是7.50小时。
PS:我用熊猫把它作为两列的数据加载。
Edit1:在我的例子中,我的情绪包含“正面”或“负面”。
Edit2:,我将这个输出存储为csv文件,我正在使用(read_csv())读取
发布于 2018-08-22 12:01:41
发布于 2018-08-22 12:09:10
查找所有单词字符组并使用以下列表:
>>> import re
>>> l = re.findall(r'\w+', s)
>>> ' '.join(l[:-1])
'Hi I earn 7 dot 50 per hour i e 7 50 hr'
>>> l[-1]
'Positive'发布于 2018-08-22 11:53:21
如果情绪只是“积极”或“消极”。然后,
def clean(sentence):
tokens = sentence.split()
return " ".join(tokens[:-1]), tokens[-1]它会给你一个元组,
('Hi... I earn 7 dot 50 per hour i.e $7.50/hr.', 'Positive')https://stackoverflow.com/questions/51966041
复制相似问题