【问题标题】:Analyse Data within multiple tables between two SQL Databases using Python使用 Python 分析两个 SQL 数据库之间的多个表中的数据
【发布时间】:2018-08-01 20:04:37
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: sql python-3.x data-analysis


【解决方案1】:

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

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

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

    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)

这应该可行。

【讨论】:

  • 感谢您的回复。您可以建议什么技术来比较这些表之间的数据?我的意思是建议这些表在这些表中包含类似类型的数据。例如,假设 person_details 有一行“abc”“24”“country”,details 有一行“def”“21”“country”。现在,我该如何分析这个。有什么建议吗?
  • 您可以比较分类列的唯一值。这是您可以使用的想法之一。对数据进行分析的范围要广泛得多,不是一条线就能解决的。 data_A.column_name.value_counts()
猜你喜欢
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多