Как удалить те ключевые слова, которые не принадлежат городу из словаря в текстовом файле Python? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть Dictionary.txt Файл словаря названий городов, он соответствует названию города в CSV-файле и подсчитывает количество совпадений в каждой строке.

У меня проблема с файлом Dictionary.txt, в нем есть некоторые ключевые словакоторые не относятся к названию города.поэтому я хочу удалить все эти нерелевантные ключевые слова из файла словаря.Я понятия не имею, как это решить.

Например, некоторые ключевые слова Dictionary.txt:

Nowy Dworek
Dar Bel Amri
Abaren
Hassi blal
Ambodivona
Chakla
Ippatam
Suti
Via
Zingeyskiy
Luesslingen
Bolshaya Markha
Ard Na Greine
Raskhovets
Ksizovo
Rock Elm
Batnahit

В этом файле у меня много неуместных ключевых слов.например, в данном примере via ключевые слова не принадлежат городам, так же, как мой результат вывода приведен ниже, вы можете увидеть, что в описании есть много не относящихся к делу ключевых слов, которые совпадают,

Sr_Num |    Description Cities  |matched Keywords    |Cities Total matches
1      | any description........|temple , via , Thai |3
2                                last , canada , give , on| 4
3                                this , is , on , louis |4
4                                Ocean , I , US , a , is , Southern , huge , of , this , War|   10
5                                queen  |1
6                                But , is , me , cole|  4
7                                all , Lester , Mason , is , on , us , long , of|   8
8                                Wallach , Bad , Good , Sanchez |4

Итак, каково решение удалить все нерелевантные ключевые слова из файла dictionary.txt, который не принадлежит названию города ???

1 Ответ

0 голосов
/ 28 февраля 2019

Я не буду предоставлять код, потому что я думаю, что вы можете сделать это самостоятельно, но вот как я это сделаю:

Сначала разделите ваш Dictionary.txt, чтобы получить все слова в списке.

Затем разделите ваш CSV-файл, чтобы получить каждое название города в списке.

Затем выполните цикл по последнему списку, чтобы проверить, является ли оно словом из вашего словарного списка, и, если нет, удалите его.это из списка.

Наконец, переписать CSV из окончательного списка, который вы получите.

РЕДАКТИРОВАТЬ: Вот код, чтобы показать вам:

yourDictionnary = open('Dictionary.txt', 'r').read().splitlines() #this puts contents from the dictionnary into a list line by line
theCsvContent = ','.join(open('csvName.csv', 'r').read().splitlines()).split(',') #this puts contents from the csv into a list element by element

for index, word in enumerate(theCsvContent): #loops through theCsv with index as the word index and word as the word we're iterating on
    if word not in yourDictionnary: #checks if the word is in dictionnary and if not :
        del theCsvContent[index] #removes the word from the csv

open('result.csv', 'w').write(','.join(theCsvContent)) #this writes the edited csv into result.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...