熊猫|比较两个CSV文件并返回匹配项

时间:2020-09-29 15:10:07

标签: python python-3.x pandas

所以基本上我试图比较两个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中提取关键字并检查匹配项的方法,而不是将所有关键字都放入代码中。

1 个答案:

答案 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)]

将所有内容都转换为小写字母不是强制性的,但这是规范化数据并防止丢失的好方法。