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()
使用正斜杠(/)而不是反斜杠