Python将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

我有一本包含2张excel表格的工作簿。我想比较第一张excel表中的两列和第二张excel表中的两列


谢谢

您可以尝试下面的方法在每个列中添加前两列(如果它们是字符串,则将连接起来),然后比较每个列中的值。这将要求它们的长度相同,并且假设您希望基于位置而不是包含进行比较(在这种情况下,您可以合并这两列以查看匹配的内容)


通过引入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())