Python将SQL查询的输出保存到Excel

Python将SQL查询的输出保存到Excel,python,sql-server,pandas,pyodbc,Python,Sql Server,Pandas,Pyodbc,首先,我试图检索所有可能数据库的列表,这很好 在第二部分中,它对列表中的每个数据库执行查询。它将为创建日期等于或大于01-01-2020的每个数据库返回名称和创建日期 所以,当我做“打印(行)”时,它给了我确切的我想要的 但是如何将查询结果写入Excel文件?我已经把熊猫作为pd进口了 cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};'f'Server={server};'f'Database= {db};'f'UID

首先,我试图检索所有可能数据库的列表,这很好

在第二部分中,它对列表中的每个数据库执行查询。它将为创建日期等于或大于01-01-2020的每个数据库返回名称和创建日期

所以,当我做“打印(行)”时,它给了我确切的我想要的

但是如何将查询结果写入Excel文件?我已经把熊猫作为pd进口了

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};'f'Server={server};'f'Database= 
{db};'f'UID={username};'f'PWD={password};')

cursor = cnxn.cursor()
cursor.execute("SELECT name  FROM master.dbo.sysdatabases")
result = cursor.fetchall()
ams_sql02 = []
for row in result:
    ams_sql02.append(row[0])
    ams_sql02 = [databases.lower() for databases in ams_sql02]

cursor = cnxn.cursor()
for db in ams_sql02:
     cursor.execute(f'SELECT name, convert(varchar(10),create_date,103) as dateCreated fROM 
     sys.databases where name = \'{db}\' and create_date > \'2020-01-01 10:13:03.290\' 
     order by create_date')

      result = cursor.fetchall()
      for row in result:
          print(row)

为什么不在没有Python的情况下将SQL查询放在Excel中?Excel可以很好地与MS SQL Server等数据源配合使用。

那么,构建一个数据框架并将其写入Excel?您还没有展示您的代码尝试或解释您面临的任何困难。除此之外,您正在使用f字符串来构建查询,而不是使用参数化,并且使用转义字符纯粹是为了不使用
来构建查询。要添加到前面的注释中,您甚至可以使用驱动程序在数据框中更轻松地获得结果,那么.to_excel()方法将起作用。