所以基本上我试图比较两个CSV文件并返回匹配项。
CSV1:包含关键字列表。
keywords
Apple
Banana
Orange
CSV2:包含随机内容。
content
I like Apples
Banana is my favorite Fruit
Strawberry Smoothies are the best
如果我在这样的代码中包含关键字,则会得到不错的结果。
import pandas as pd
df = pd.read_csv('CSV1.csv')
result = df[df.content.str.contains('Apple|Banana|Orange')]
由于关键字文件越来越大。我正在寻找一种从csv中提取关键字并检查匹配项的方法,而不是将所有关键字都放入代码中。
答案 0 :(得分:1)
您可以使用pandas isin()函数(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.isin.html)
伪代码为:
# put the csv1's list to lower case
list_csv1 = [i.lower() for i in list_csv1]
# use the isin() function
# again, put the content to lower case
result = df[df.content.str.lower().isin(list_csv1)]
将所有内容都转换为小写字母不是强制性的,但这是规范化数据并防止丢失的好方法。