我有兩個大的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