Python将excel工作表的两列成对进行比较
我有一本包含2张excel表格的工作簿。我想比较第一张excel表中的两列和第二张excel表中的两列Python将excel工作表的两列成对进行比较,python,pandas,dataframe,Python,Pandas,Dataframe,我有一本包含2张excel表格的工作簿。我想比较第一张excel表中的两列和第二张excel表中的两列 谢谢您可以尝试下面的方法在每个列中添加前两列(如果它们是字符串,则将连接起来),然后比较每个列中的值。这将要求它们的长度相同,并且假设您希望基于位置而不是包含进行比较(在这种情况下,您可以合并这两列以查看匹配的内容) 通过引入pandasql,集合操作变得更加容易。看看这个: import pandas as pd import pandasql as ps df1 = pd.read_ex
谢谢您可以尝试下面的方法在每个列中添加前两列(如果它们是字符串,则将连接起来),然后比较每个列中的值。这将要求它们的长度相同,并且假设您希望基于位置而不是包含进行比较(在这种情况下,您可以合并这两列以查看匹配的内容)
通过引入pandasql,集合操作变得更加容易。看看这个:
import pandas as pd
import pandasql as ps
df1 = pd.read_excel(file, sheet_name = 'Sheet 1')
df2 = pd.read_excel(file, sheet_name = 'Sheet 2')
df_res = ps.sqldf("""select select case when df2.col1 is null
then 'no match'
else 'they match' end as do_they_match
from df1
left join df2
on df1.col1 = df2.col1
and df1.col2 = df2.col2 """, locals())
@扎曼·阿扎姆:如果这个解决方案对你有效,请接受答案。
import pandas as pd
import pandasql as ps
df1 = pd.read_excel(file, sheet_name = 'Sheet 1')
df2 = pd.read_excel(file, sheet_name = 'Sheet 2')
df_res = ps.sqldf("""select select case when df2.col1 is null
then 'no match'
else 'they match' end as do_they_match
from df1
left join df2
on df1.col1 = df2.col1
and df1.col2 = df2.col2 """, locals())