数据校验_TEST

复制代码
import pandas as pd
import pymysql

# 数据库连接信息
source_db_config = {
    'host': 'source_db_host',
    'user': 'source_db_user',
    'password': 'source_db_password',
    'database': 'source_db_name',
}

target_db_config = {
    'host': 'target_db_host',
    'user': 'target_db_user',
    'password': 'target_db_password',
    'database': 'target_db_name',
}

# 表和字段映射关系
table_mapping = {
    'source_table1': 'target_table1',
    'source_table2': 'target_table2',
}

field_mapping = {
    'source_table1': {'field1': 'target_field1', 'field2': 'target_field2'},
    'source_table2': {'field3': 'target_field3', 'field4': 'target_field4'},
}

def fetch_data_from_db(config, table, fields):
    connection = pymysql.connect(**config)
    query = f"SELECT {', '.join(fields)} FROM {table}"
    df = pd.read_sql(query, connection)
    connection.close()
    return df

def main():
    for source_table, target_table in table_mapping.items():
        source_fields = list(field_mapping[source_table].keys())
        target_fields = list(field_mapping[source_table].values())

        # 从源数据库获取数据
        source_data = fetch_data_from_db(source_db_config, source_table, source_fields)

        # 从目标数据库获取数据
        target_data = fetch_data_from_db(target_db_config, target_table, target_fields)

        # 进行数据比较
        if source_data.equals(target_data):
            print(f"数据校验通过: {source_table} 和 {target_table}")
        else:
            print(f"数据校验失败: {source_table} 和 {target_table}")

if __name__ == "__main__":
    main()
复制代码

 

posted @   yongqi-911  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示