当前位置: 首页 > 面试题库 >

使用Pandas导入多个SQL表

狄宏大
2023-03-14
问题内容

我有一个包含多个表的数据库,并且我试图将每个表作为pandas数据框导入。我可以对单个表执行以下操作:

import pandas as pd
import pandas.io.sql as psql
import pypyodbc

conn = pypyodbc.connect("DRIVER={SQL Server};\
                        SERVER=serveraddress;\
                        UID=uid;\
                        PWD=pwd;\
                        DATABASE=db")

df1 = psql.read_frame('SELECT * FROM dbo.table1', conn)

数据库中表的数量将发生变化,并且我希望能够随时将每个表导入其自己的数据框中。如何将所有这些桌子放入大熊猫中?


问题答案:

根据您的SQL Server,您可以检查数据库中的表。

例如:

tables_df = pd.read_sql('SELECT table_name FROM database_name', conn)

现在您可以将表名作为pandas数据框访问,您只需解析一下即可:

table_name_list = tables_df.table_name

select_template = 'SELECT * FROM {table_name}'
frames_dict = {}
for tname in table_name_list:
    query = select_template.format(table_name = tname)
    frames_dict[tname] = pd.read_sql(query, conn)

您的字典frames_dict包含所有以table_name为键的数据框



 类似资料:
  • 问题内容: 我正在尝试从ascii读取几百张表,然后将它们写入mySQL。使用Pandas似乎很容易,但是我遇到了一个对我来说没有意义的错误: 我有一个8列的数据框。这是列列表/索引: 然后,我使用追加数据到mySQL 我收到关于列为“ nan”的奇怪错误: 如您所见,我所有的列都有名称。我意识到mysql / sql对编写的支持出现在开发中,所以也许这是原因?如果是这样,是否可以解决?任何建议将

  • 问题内容: 我是新手,想知道有关从一台服务器导入文件到另一台服务器的信息。我尝试了以下命令,它对我来说很好用。现在,我想知道当有多个文件时,如何一次导入所有文件。我找不到任何相关的文档,这是不可能的。请帮助我,这可能吗? 问题答案: 您总是可以编写一些shell脚本。

  • 我试图导入多个CSV文件在一个特定的路径到数据集HDF5文件使用此代码: 但我有一个错误: 第15行,在帧=pd.concat(li,轴=0,ignore_index=True)文件/usr/本地/lib/python3.7/site-包/熊猫/核心/重塑/concat.py,第281行,在统一排序=排序,文件/usr/本地/lib/python3.7/site-包/熊猫/Core/reshape

  • 我正在尝试读取多个excel文件,并将每个文件中的数据附加到一个主文件中。每个文件都有相同的标题(因此我可以跳过导入初始文件后的第一行)。 我对Python和OpenPyXL模块都很陌生。我可以毫无问题地导入第一个工作簿。当我需要打开后续文件并复制数据以粘贴到原始工作表中时,我的问题就出现了。 到目前为止,这是我的代码: 谢谢!

  • 我已经找到了许多相关的链接,但我仍然无法得到这个工作: 将多个CSV文件读取到Python Pandas DataFrame中 将多个不同列数的数据帧合并为一个大数据帧 将多个csv文件导入到pandas中并连接到一个Dataframe中

  • 我试图将一个目录中的几个csv文件读入pandas,并将它们连接到一个大数据帧中,但出现以下错误: 这是我的密码 我不知道为什么它不起作用。我试图用chmod解决这个问题,但一切都变了