Я захватил заголовки из газет, также я удалил стоп-слова из заголовков, но после удаления стоп-слов слово идет с одинарной кавычкой, поэтому мне не нужны эти цитаты, для этого я попробовал код ниже:

from nltk.corpus import stopwords
blog_posts=[]
stop = stopwords.words('english')+[
    '.',
    ',',
    '--',
    '\'s',
    '?',
    ')',
    '(',
    ':',
    '\'',
    '\'re',
    '"',
    '-',
    '}',
    '{',
    u'—',
   'a', 'able', 'about', 'above', 'according', 'accordingly', 'across', 'actually', 'after', 'afterwards', 'again', 'against', 'all', 'allow', 'allows', 'almost', 'alone', 'along', 'already', 'also', 'although', 'always', 'am', 'among', 'amongst', 'an', 'and', 'another', 'any', 'anybody', 
]
file=open("resources/ch05-webpages/newspapers/TOI2232014.csv","r+")
t=[i for i in file.read().split() if i not in stop]
blog_posts.append((t,))
print blog_posts

Поэтому вывод этого кода:

[(['"\'Duplicates\'', 'BJP,', 'Jaswant', 'Singh', 'says"', '"Flight'],)]

Но мне нужен такой вывод:

 [([Duplicates,BJP,Jaswant,Singh,ays,Flight])]   

Так что я могу сделать для этого вывода?

1
Prush 22 Мар 2014 в 15:06

2 ответа

Лучший ответ

Yahoo наконец-то я получил ответ на этот вопрос.

t=[i.replace("\'","").replace("?","").replace(":","").replace("\"","").replace("#","").strip() 
  for i in file.read().split() if i not in stop]
#blog_posts.append((t,))
p=' '.join(t)
blog_posts.append((p,))
print blog_posts
0
Prush 26 Мар 2014 в 16:25
t=[i.replace("\\","").replace("\"","").replace("\'",").strip() 
   for i in file.read().split() if i not in stop]

Было бы небрежным способом сделать это, если бы вы знали исчерпывающий список символов, которые хотите удалить.

Если вы знаете, что вам нужны только буквенные символы, вы можете

import re

t=[re.findall([a-aA-Z]+, i) for i in file.read().split() 
   if i not in stop]
2
Metropolis 23 Мар 2014 в 05:01