我有一本工作簿,里面有两张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())
您可以尝试以下方法在每个列中添加前两列(如果它们是字符串,则会连接(,然后比较每个列中的值。这将要求它们的长度相同,并且这假设您希望根据位置而不是包含进行比较(在这种情况下,您可以合并这两列以查看匹配的内容(。
df1 = pd.read_excel(file, sheet_name = 'Sheet 1')
df2 = pd.read_excel(file, sheet_name = 'Sheet 2')
df1.iloc[:,0] + df1.iloc[:,1] == df2.iloc[:,0] + df2.iloc[:,1]