我正在Python中使用以下代码模板(使用Atom构建/写入)。如何在Python脚本中执行多个SQL语句?

import pyodbc

import pandas as pd

import win32com.client

cnxn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL

Server}',server ='prodserver', database = 'XXXX')

cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')

cnxn.setencoding(str, encoding='utf-8')

cnxn.setencoding(unicode, encoding='utf-8', ctype=pyodbc.SQL_CHAR)

cursor = cnxn.cursor()

script ="""SELECT AccountsCount.AccountClass, COUNT(*) as Count

FROM

(SELECT *

FROM XXXX.dbo.table

where SubNo='001'

AND (DATENAME(WEEKDAY, GETDATE()) = 'Sunday' AND

convert(date,AddDate) = DATEADD(DAY, -2, CAST(GETDATE() as DATE))

) OR

(DATENAME(WEEKDAY, GETDATE()) = 'Monday' AND

convert(date,AddDate) = DATEADD(DAY, -3, CAST(GETDATE() as DATE))

) OR

(DATENAME(WEEKDAY, GETDATE()) = 'Sunday' AND

convert(date,AddDate) = DATEADD(DAY, -2, CAST(GETDATE() as DATE))

) OR

(DATENAME(WEEKDAY, GETDATE()) NOT IN ('Sunday', 'Monday') AND

convert(date,AddDate) = DATEADD(DAY, -1, CAST(GETDATE() as DATE))

)) AS AccountsCount

Group by AccountsCount.AccountClass

"""

df = pd.read_sql_query(script,cnxn)

writer = pd.ExcelWriter ('ExcelFile.xlsx')

df.to_excel(writer, sheet_name = 'Data Export')

writer.save()

xlApp = win32com.client.DispatchEx('Excel.Application')

xlsPath = ('OtherExcelFile.xlsm')

wb = xlApp.Workbooks.Open(Filename=xlsPath)

xlApp.Run('CopyIntoOutlook')

wb.Save()

xlApp.Quit()

所有我需要做的就是添加第二个和完全独立的SQL命令,这个脚本它运行绝对完美和做什么,我需要做的就是以上。我的其他脚本是这样

script= """ select AccountClass, COUNT(*) as Count

FROM XXXX.dbo.table

where SubNo='001'

AND AddDate >= '1/1/2017'

Group by AccountClass """

我曾与任何没有运气,据我已经试过如添加到脚本,任何帮助是非常apprecaited!您会注意到第二个脚本使用的是与原始数据库相同的表格,我只需要YTD数据以及前一天查看的顶部查询。

2017-08-10

SMBRADBE

+1

您有什么问题?只需用'pd.read_sql_query()'执行第二个查询' –

+0

为什么当你清楚地使用SQL-Server时,你有这个带标签的'mysql'? –

+0

你想要的输出是什么?第二个查询作为新的Excel工作表?运行相同的过程,但更改'SELECT'语句和目标工作表。 –

python写sql语句_如何在Python脚本中执行多个SQL语句?相关推荐

  1. python写货币转换_如何在Python中将货币字符串转换为浮点数?

    扩展为在括号中包含负数: In [1]: import locale, string In [2]: from decimal import Decimal In [3]: n = ['$1,234. ...

  2. shell脚本中执行命令_如何在Shell脚本中执行命令?

    shell脚本中执行命令 Shell is a command-line interpreter that allows the user to interact with the system. I ...

  3. c语言解析sql语句_如何在C语言里面执行SQL语句?

    一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1)程序需要获取数据库中某数据表的字段值,并对这些字段值进行解析以执行后续操作. (2)程序需要更新数据库 ...

  4. python获取当前时间戳_如何在Python中获取当前时间戳?

    在Python中可以使用来自模块time.datetime或calendar的函数来获取当前时间戳,代码语句如[import time;ts = time.time() print(ts)]. 在Py ...

  5. python静态变量计数器_如何在Python中使用静态变量在计数

    今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...

  6. python右对齐 数字_如何在Python中右对齐数值数据?

    我有一些数据,我显示在3列格式,形式"键:值键:键:值键:值".这里有一个例子: p: 1 sl: 10 afy: 4 q: 12 lg: 10 kla: 3 r: 0 kl: 1 ...

  7. python 指定证书验证_如何在python中验证SSL证书?

    我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...

  8. 如何用python写串口通信软件_如何用python写个串口通信的程序?

    展开全部 打开串口后启动一个线程来监听串口数据的进入,有数据时,就做数据的处理. 用python写串口通信e68a84e8a2ad32313133353236313431303231363533313 ...

  9. python队列怎么用_如何在Python中使用多处理队列? - python

    我很难理解多处理队列如何在python上工作以及如何实现它.假设我有两个python模块,它们从共享文件中访问数据,我们将这两个模块称为writer和Reader.我的计划是让读取器和写入器都将请求放 ...

  10. python字符串筛选输出_如何在Python中过滤字符串列表

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...

最新文章

  1. 【原创】linux命令bc使用详解
  2. Tech Ed上Windows 7值得关注的课程
  3. open source ecg_苹果watchOS 7.1 正式版发布:ECG功能上线多国
  4. CSS美化滚动条的方法
  5. 班级日常分享,一天一瞬间
  6. if循环java语句_java-条件判断和循环语句
  7. 程序员如何在百忙中更有效地利用时间,如何不走岔路,不白忙(忙得要有效率,要有收获)...
  8. maven 相关简介,和操作命令
  9. 2022年SQL经典面试题总结(带解析)
  10. matlab的小波分析,matlab小波分析步骤是什么
  11. PHP搭建IDC网站,SWAPIDC系统完整移除云平台修改版 个人搭建idc空间商网站平台
  12. c语言实验编码sdut,C语言实验一(1)
  13. 【SEU程序设计课笔记】 Mooc - Chapter 6 - (EX) - 泰勒展开求sin(x)/计算PI的近似值
  14. state_dict详解--存放训练过程中需要学习的权重和偏执系数
  15. 关于INTERVAL 函数的使用
  16. 盒子拖拽效果,原生js实现
  17. GIT CZ的错误解决
  18. PPT修改幻灯片大小
  19. 多种乡村体验游盈利方式,助你撬动上千亿乡村旅游市场!
  20. Linux之《荒岛余生》(三)内存篇

热门文章

  1. (Singleton)单例模式的Java实现
  2. 【基础知识】【中缀转逆波兰(后缀)表达式】
  3. java 访问Domino LOtus 数据库
  4. springboot和springframework以及jdk版本的对应关系
  5. git rebase后无法push远程分支的问题解决
  6. zabbix3.4 监控mysql 数据库连接数
  7. Survivor空间溢出实例
  8. python3 爬虫
  9. html 条款前面的选项,HTML内部测试笔试题.doc
  10. KVM 介绍(1):简介及安装