python - 导出或写入 excel ms SQL 服务器 QUERY

python - export or write to excel ms SQL server QUERY

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

数据库zd和tableuser_tab_columns中字段如下:

下面是我的代码示例:

error message SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

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 中的字符串中,您需要使用 ' 作为引用而不是 ".

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()

使用正斜杠 (/) 代替反斜杠