У меня есть два больших файла csv. У главного есть поле как имя продукта, а в другом файле csv у меня есть несколько ключевых слов. Я ищу эти ключевые слова в имени продукта в первом CSV-файле. На данный момент мой код выглядит так:Как найти подстроки в строке в двух больших файлах csv (python)
class Keyword:
# keyword class for adding match keywords
def __init__(self):
self.data={}
def add(self, keyword, count):
if keyword in self.data.keys():
self.data[keyword]+=count
else:
self.data[keyword]=count
def get_match(self):
temp = []
for key, value in self.data.iteritems():
temp.append(key)
temp.append(value)
return temp
for i, product_row in product_df.iterrows():
product_title = product_row['title'].lower().replace(',','')
k = Keyword()
for j, keyword_row in keyword_df.iterrows():
if keyword_row['keyword'] in product_title:
k.add(keyword_row['keyword'], keyword_row['count'])
match_items = k.get_match()
if len(match_items)>0:
temp = product_row.tolist()
temp = [str(x).replace(',','') for x in temp]
temp.extend(match_items)
print>>sys.stdout, str(temp).strip('[]').replace("'",'')
else:
pass
Этот код очень медленно и у меня есть многие из этих CSV файлов, которые должны получить сравнивать друг с другом. Вы знаете более эффективный способ сравнить эти файлы?
исправить код вдавлено пожалуйста. –
Вы считаете, сколько раз каждое ключевое слово * появляется * в поле имени продукта файла csv? – wwii
Пожалуйста, покажите нам несколько строк из каждого файла. – wwii