Python将程序/脚本(不只是输出)写入Excel

时间:2019-01-07 15:10:41

标签: python pandas

出于文档/报告目的,我想将为报告运行的脚本记为excel选项卡输出的一部分。这可能吗?

例如,如果我有以下代码:

import pyodbc
import pandas as pd

cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL 
Server};SERVER=relevantserver.com;UID=####;PWD=####; 
Trusted_Connection=yes')
cursor = cnxn.cursor()
script="""
  SELECT ID
    ,Type
    ,SubType
    ,Name
    ,RequestorLOB
    FROM db123
    ;
"""
cursor.execute(script)
columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()
df = pd.read_sql_query(script, cnxn)
writer = pd.ExcelWriter('C:/Users/myname/Desktop/testoutput.xlsx')
df.to_excel(writer, index=False, sheet_name='test1')
writer.save()

这将从sql脚本的输出中获取并创建一个数据框,然后创建一个excel文件并将该数据框放置在工作表“ test1”上。

我想创建第二个选项卡,其中包含python脚本中使用的所有代码(基本上是创建审计跟踪)。

您能提供的任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

我举了一个示例,说明如何将脚本的代码添加到第二张表中,应该可以用您的SQL部分替换UPDATE yourTable SET FirstName = LEFT(FirstName, CHARINDEX(' ', FirstName + ' ') - 1); 下的部分。

# First sheet, use your SQL data