python – 导出或写入Excel的MS SQL服务器QUERY

我有一个名为zd的sql服务器中的数据库和一个名为user_tab_columns的表。 我想批量导出或写入excel查询语句的结果。 我试图从不同来源模仿的代码最终给了我错误消息。

在数据库zd和表user_tab_columns中,字段如下所示: 在这里输入图像说明

以下是我的代码示例: Pandas的ValueError – 传递值的形状

错误消息SyntaxError:(unicode错误)“unicodeescape”编解码器无法解码位置2-3中的字节:截断\ UXXXXXXXX转义

import pyodbc import pandas as pd import os cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};" "Server=DPC;" "Database=zD;" "trusted_connection=yes;") cursor = cnxn.cursor() script = """ SELECT * FROM user_tab_columns WHERE table_name = "A" """ cursor.execute(script) columns = [desc[0] for desc in cursor.description] data = cursor.fetchall() df = pd.DataFrame(list(data), columns=columns) writer = pd.ExcelWriter('C:\Users\PROGRAMs\TEST\export.xlsx') df.to_excel(writer, sheet_name ='bar') writer.save() 

我会使用pandas的内置.read_sql() 。 此外,为了把"在Python中的string,你需要使用'作为你的报价而不是"

 import pyodbc import pandas as pd import os cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};" "Server=DPC;" "Database=zD;" "trusted_connection=yes;") cursor = cnxn.cursor() script = """ SELECT * FROM user_tab_columns WHERE table_name = 'A' """ df = pd.read_sql(script, cnxn) writer = pd.ExcelWriter('C:\Users\PROGRAMs\TEST\export.xlsx') df.to_excel(writer, sheet_name ='bar') writer.save() 

使用正斜杠(/)而不是反斜杠