Попытка сравнить текст, используя для цикла - PullRequest
1 голос
/ 28 марта 2019

У меня есть различные URL-адреса брендов в кадре данных, который я получил с помощью автоматического поиска в Google, я разбил эти URL-адреса на слова и пытаюсь сравнить название бренда и производителя с URL-адресом, чтобы проверить правильность или нет (КАК У большинства компаний есть URL либо по названию их торговой марки, либо по названию их компании-производителя)

try: 
              from googlesearch import search 
except ImportError: 
              print("No module named 'google' found") 


for i in search(Brand.get_attribute("innerHTML"), tld="com", num=15, stop=1, pause=2): 
    webaddresses.append(i)

for i in search(Manufacturer.get_attribute("innerHTML"), tld="com", num=15, stop=1, pause=2): 
    webaddresses.append(i)

for i in search(Brand.get_attribute("innerHTML") and Manufacturer.get_attribute("innerHTML"), tld="com", num=15, stop=1, pause=2): 
    webaddresses.append(i)

for i in search(Brand.get_attribute("innerHTML") and Manufacturer.get_attribute("innerHTML") and "Beverage", tld="com", num=15, stop=1, pause=2): 
    webaddresses.append(i)

webaddresses = pd.DataFrame(webaddresses)
webaddresses.rename(columns = {list(webaddresses)[0]:'URL'}, inplace=True)

splitting_gurl = webaddresses['URL'].str.split(r'[.\:/?=\-&]+', expand = True)




for i in range(len(splitting_gurl.index)):
    row = splitting_gurl.loc[[i]]    
    for j in range (0,5):
        if row[[j]] == str(Brand_check) or row[[j]] == str(Manufacturer_check):
            a=webaddresses.loc[[i]]
            print(a)

Ниже приведена ошибка: -

 File "<ipython-input-124-0b002229b2b7>", line 4, in <module>
if row[[j]] == str(Brand_check) or row[[j]] == str(Manufacturer_check):

File "C:\Users\Anaconda3\lib\site-packages\pandas\core\generic.py", line 1576, in __nonzero__
.format(self.__class__.__name__))

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Я просто хочу, чтобы мой оператор For Loop и IF выполнялся и сравнивал слова.

1 Ответ

0 голосов
/ 04 июня 2019

Мы можем использовать пакет Fuzzywuzzy в python, он сравнивает слова на основе расстояния Левенштейна и штрафует его за любое из действий, т. Е. Вставку алфавита, удаление или замену.

...