Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何提取DataCompy比较结果?_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何提取DataCompy比较结果?

Python 如何提取DataCompy比较结果?,python,pandas,dataframe,Python,Pandas,Dataframe,我正在使用DataCompy比较两个数据帧 如何提取结果或创建结果日志 也可以编辑结果吗?如删除某些行或修改结果。我知道这是一个自动化的过程 代码如下: for index, row in df_sqlfile.iterrows(): sql = row["Query"] con = create_con(uname_d1, pword_d1, hname_d1, port_d1, sname_d1) header_db1 , row_db1 = re

我正在使用DataCompy比较两个数据帧

如何提取结果或创建结果日志

也可以编辑结果吗?如删除某些行或修改结果。我知道这是一个自动化的过程

代码如下:

for index, row in df_sqlfile.iterrows():
    sql = row["Query"]
    con = create_con(uname_d1, pword_d1, hname_d1, port_d1, sname_d1)
    header_db1 , row_db1 = read_query(con,sql)
    df_db1 = pd.DataFrame(list(row_db1), columns = header_db1)

    con1 = create_con(uname_d2, pword_d2, hname_d2, port_d2, sname_d2)
    header_db2, row_db2 = read_query(con1,sql)
    df_db2 = pd.DataFrame(list(row_db2), columns = header_db2)
    print(df_db2)

    comp = datacompy.Compare(
        df_db1,
        df_db2,
        join_columns = header_db1,
        abs_tol=0,
        rel_tol=0,
        df1_name='Original',
        df2_name='New'
        )

    comp.matches(ignore_extra_columns=False)
    print(comp.report())

可能您必须指定一个变量,并将其转换为字符串并格式化。如果您想获得特定的验证,可以按如下方式使用:

  • comp.all_mismatch()-提供源和目标之间的不匹配
  • comp.df_db1_unq_行-只给出源中存在的值(df_db1只是源数据帧)
  • comp.df_db2_unq_行-只给出目标中存在的值(df_db2只是您的目标数据帧)

  • 有谁能帮我创建一个Datacompy比较结果的log.txt吗