python3操作sqlserver,查询数据统计导出csv

 1 import  pymssql #导入sqlserver连接池模块
 2 import csv      #导出csv文件使用模块
 3 conn=pymssql.connect(‘服务器ip‘,‘用户名‘,‘密码‘,‘数据库名‘)#连接数据库
 4 cursor=conn.cursor() #打开数据库连接池
 5
 6 #执行sql命令
 7 cursor.execute(‘select interest from  Apply where interest is not null and interest<>%s‘,"非微信导入")
 8
 9 #读取数据
10 row=cursor.fetchone()
11 dicList={}
12 #循环读取,直至读完
13 while row:
14     #读取第一列以,分割
15     str=row[0]
16     for item in str.split(‘,‘):
17           #判断字典key里是否有该元素,有则加1,
18         if(item in dicList.keys()):
19
20             dicList[item]=dicList[item]+1
21         #无该key则往字典里添加
22         else:
23
24             dicList[item] =1
25
26     row = cursor.fetchone()
27 #关闭连接池
28 cursor.close()
29 conn.close()
30
31
32
33 with open("data.csv", "w", newline="") as datacsv:
34     # dialect为打开csv文件的方式,默认是excel,delimiter="\t"参数指写入的时候的分隔符
35     csvwriter = csv.writer(datacsv, dialect=("excel"))
36     # csv文件插入一行数据,把下面列表中的每一项放入一个单元格(可以用循环插入多行)
37     for model in dicList:
38         csvwriter.writerow([model, dicList[model]])

原文地址:https://www.cnblogs.com/dongml/p/10075623.html

时间: 2024-08-30 11:46:46

python3操作sqlserver,查询数据统计导出csv的相关文章

sqlserver查询数据的所有表名和行数

原文:sqlserver查询数据的所有表名和行数 //查询所有表明select name from sysobjects where xtype='u' select * from sys.tables //查询数据库中所有的表名及行数 SELECT a.name AS [TABLE NAME] , b.rows AS [RECORD COUNT] FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.t

java操作mongodb——查询数据

通过find方法查询集合中的文档信息 -------------------------------------------------------- find() 查询所有文档信息,返回FindIterable<Document> 我们可以通过FindIterable的forEach方法取得document信息 MongoClient mongoClient = new MongoClient(); MongoDatabase db = mongoClient.getDatabase(&qu

sqlserver查询数据的所有表名和行数及空间占用量

//查询所有表名 select name from sysobjects where xtype='u'SELECT     name, object_id, principal_id, schema_id, parent_object_id, type, type_desc, create_date, modify_date, is_ms_shipped, is_published,                       is_schema_published, lob_data_spa

sqlserver 查询数据所在行数

简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号

MySQL存储引擎 SQL数据导入/导出 操作表记录 查询及匹配条件

MySQL存储引擎的配置 SQL数据导入/导出 操作表记录 查询及匹配条件 1 MySQL存储引擎的配置1.1 问题 本案例要求MySQL数据存储引擎的使用,完成以下任务操作: 可用的存储引擎类型 查看默认存储类型 更改表的存储引擎 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:查看存储引擎信息 登入MySQL服务器,查看当前支持哪些存储引擎. 使用mysql命令连接,以root用户登入: [[email protected] ~]# mysql -u root –p Enter pa

SQLServer查询结果另存为csv格式中文乱码问题

原本以为很容易,sqlserver可以直接将查询结果保存为csv格式,但是导出以后却产生了中文乱码和由于特殊字符导致的数据被分割成多列问题: 解决方法:在每个字段前后加上引号 '"',再把类似数字的字段转换成文本,即可解决以上问题.

SQL数据导入/导出,操作表记录,查询及匹配条件

SQL数据导入/导出 1.1 问题 使用SQL语句完成下列导出.导入操作: 将/etc/passwd文件导入userdb库userlist表并给每条记录加编号 将userdb库userlist表中UID小于100的前10条记录导出,存为/dbak/ulist.txt文件 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:将/etc/passwd文件导入MySQL数据库 导入后的表结构取决于/etc/passwd配置文件.若一时记不住各字段的含义,也可以查看passwd配置文件的man手册页

LOB对象在数据泵导出、导入后查询对象数量发现丢失

问题描述:问题:源库的某个Schema使用数据泵Expdp元数据整体导出,在目标库导入且成功后,逻辑验证用户对象,发现缺失.分析查询后,缺失的对象,都是LOB类型(并不是所有的LOB都无法导入,是大部分LOB类型的对象) #以下逻辑验证,SQL执行,对比源库.目标库数据#以下语句特点:测试环境,还原状况模拟:数据无法完全重现 SQL> select OBJECT_TYPE,count(*) from dba_objects where owner='SCOTT' group by object_

在Sqlserver下巧用行列转换日期的数据统计

在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法.常应用于统计网站的PV流量.合同项目中月收入等业务场景中.在文中我分享下最近做过的统计小案例,和大家互相学习下:) 背景 合同中行项目按月收入的统计 1.业务逻辑及需求  1.1 表业务逻辑 合同是公司间互相签署的法律契约,一份合同从诞生起,就开始流转于公司的各个部门,最核心的还是盈亏的数值.盈亏是