python写sql语句_如何在Python脚本中执行多个SQL语句?
我正在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语句?相关推荐
- python写货币转换_如何在Python中将货币字符串转换为浮点数?
扩展为在括号中包含负数: In [1]: import locale, string In [2]: from decimal import Decimal In [3]: n = ['$1,234. ...
- shell脚本中执行命令_如何在Shell脚本中执行命令?
shell脚本中执行命令 Shell is a command-line interpreter that allows the user to interact with the system. I ...
- c语言解析sql语句_如何在C语言里面执行SQL语句?
一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1)程序需要获取数据库中某数据表的字段值,并对这些字段值进行解析以执行后续操作. (2)程序需要更新数据库 ...
- python获取当前时间戳_如何在Python中获取当前时间戳?
在Python中可以使用来自模块time.datetime或calendar的函数来获取当前时间戳,代码语句如[import time;ts = time.time() print(ts)]. 在Py ...
- python静态变量计数器_如何在Python中使用静态变量在计数
今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...
- python右对齐 数字_如何在Python中右对齐数值数据?
我有一些数据,我显示在3列格式,形式"键:值键:键:值键:值".这里有一个例子: p: 1 sl: 10 afy: 4 q: 12 lg: 10 kla: 3 r: 0 kl: 1 ...
- python 指定证书验证_如何在python中验证SSL证书?
我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...
- 如何用python写串口通信软件_如何用python写个串口通信的程序?
展开全部 打开串口后启动一个线程来监听串口数据的进入,有数据时,就做数据的处理. 用python写串口通信e68a84e8a2ad32313133353236313431303231363533313 ...
- python队列怎么用_如何在Python中使用多处理队列? - python
我很难理解多处理队列如何在python上工作以及如何实现它.假设我有两个python模块,它们从共享文件中访问数据,我们将这两个模块称为writer和Reader.我的计划是让读取器和写入器都将请求放 ...
- python字符串筛选输出_如何在Python中过滤字符串列表
Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...
最新文章
- 【原创】linux命令bc使用详解
- Tech Ed上Windows 7值得关注的课程
- open source ecg_苹果watchOS 7.1 正式版发布:ECG功能上线多国
- CSS美化滚动条的方法
- 班级日常分享,一天一瞬间
- if循环java语句_java-条件判断和循环语句
- 程序员如何在百忙中更有效地利用时间,如何不走岔路,不白忙(忙得要有效率,要有收获)...
- maven 相关简介,和操作命令
- 2022年SQL经典面试题总结(带解析)
- matlab的小波分析,matlab小波分析步骤是什么
- PHP搭建IDC网站,SWAPIDC系统完整移除云平台修改版 个人搭建idc空间商网站平台
- c语言实验编码sdut,C语言实验一(1)
- 【SEU程序设计课笔记】 Mooc - Chapter 6 - (EX) - 泰勒展开求sin(x)/计算PI的近似值
- state_dict详解--存放训练过程中需要学习的权重和偏执系数
- 关于INTERVAL 函数的使用
- 盒子拖拽效果,原生js实现
- GIT CZ的错误解决
- PPT修改幻灯片大小
- 多种乡村体验游盈利方式,助你撬动上千亿乡村旅游市场!
- Linux之《荒岛余生》(三)内存篇