首页 > 解决方案 > 使用 Python 分析两个 SQL 数据库之间的多个表中的数据

问题描述

我得到了两个 SQL 数据库,它们具有相同的模式类型,但在这些表中的表名或列名不同。

我需要分析表中的这些数据并提出建议,它们是这两个数据库之间的相似(基于表中的数据)表。

任何人都可以建议我如何推进这个问题陈述。我是使用 Python 进行数据分析的新手。如果有人可以帮助我,那将非常有帮助。

例如:让我们考虑两个数据库 A 和 B。. . A 包含一个名为“person_details”的表,B 包含一个名为“details”的表

我正在寻找可以通过分析这两个表中可以连接的数据来推荐的答案。

标签: sqlpython-3.xdata-analysis

解决方案


考虑使用 python 的 sqlite 包连接到 db 并在其中查询。https://docs.python.org/2/library/sqlite3.html

通过查询,您可以检查表的架构。或者,如果您想使用 pandas 分析数据,请考虑使用 SQLAlchemy 创建与数据库的连接。http://docs.sqlalchemy.org/en/latest/core/engines.html#supported-databases

之后使用此 https://pandas.pydata.org/pandas-docs/version/0.21/generated/pandas.read_sql_table.html将表读取为 pandas DataFrame

    from sqlalchemy import create_engine
    import pandas as pd

    engine_A = create_engine('sqlite:///sqlalchemy_A.db')
    engine_B = create_engine('sqlite:///sqlalchemy_B.db')

    data_A = pd.read_sql_table("person_details",engine_A)
    data_B = pd.read_sql_table("details",engine_B)

这应该有效。


推荐阅读