2016-04-26 3 views
0

У меня есть база данных с общими английскими словами. Я хочу найти префикс каждого из этих слов и оценить слово на основе префикса. У меня есть 3 catorgoties для рейтинговой системы, постильной, нейтральной и отрицательной. Я превратил каждую catorgory в массив. Прямо сейчас я разделяю каждое слово и хочу сослаться на каждый список, чтобы увидеть, где слово падает.Поиск префикса слов в python

Это код, который у меня есть до сих пор. импорт CSV

negativePrefix = ['un', 'in', 'im','il','ir','non', 'mis','mal','dis','anti','de','under', 'semi', 'mini', 'ex', 'sub', 'infra'] 

postivePrefix = ['re', 'over', 'equi', 'micro','macro','mega','extra','prime', 'post','retro', 'bi','multi','pro','auto','co','con'] 

neutralPrefix = ['inter', 'super', 'super','peri', 'ante', 'pre','semi', 'mono', 'tri','quad','penta','hex','sept','oct','dec'] 

postive = 2 
neutral = 1 
negative = 0 

path = r'/Users/Valerie/Desktop/ClassCoding/gdi/javascript_2/common_words_Update_2.csv' 
fileName = 'common_words_Update_2' 
    with open(path, 'rb') as csvfile: 
    reader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
    for row in reader: 
     word = ' '.join(''.join(row)) 
     print word 
     # check to see if the word matches one of the arrays 

ответ

0
if any(word.startswith(prefix) for prefix in negativePrefix): 
    ... 
elif any(word.startswith(prefix) for prefix in posativePrefix): 
    ... 
elif any(word.startswith(prefix) for prefix in neutralPrefix): 
    ... 
+0

Так просто! Спасибо! –

1
for row in reader: 
    for word in row: 
     if any([word.startswith(w) for w in negativePrefix]): 
      print("{} is negative!".format(word)) 
     elif any([word.startswith(w) for w in postivePrefix]): 
      print("{} is positive!".format(word)) 
     ... 
Смежные вопросы