Python脚本->导出SQL查询结果到Excel文件

不像Mysql , SQL Server似乎没有指定的语句可以直接把SQL查询语句的结果导出到文件

下面用Python的pandas库实现这一功能

 1 import pandas as pd
 2 import pymssql
 3 conn = pymssql.connect('192.168.xxx.xxx','read', 'read', 'fcdb')
 4 sql="select top 10 symbol,exchange,sname=cast(sname as nvarchar) from securitycode where stype='eqa' order by listdate desc"
 5 df=pd.read_sql(sql,conn)
 6 df['wind']=(df.symbol+'.'+df.exchange.apply(lambda x :x[-2:]))
 7 print(df)
 8 df.to_excel('sql.xlsx',index=0)
 9 print('ok')
10 conn.close()

查询最近10只上市的A股信息

第3行 连接数据库 参数分别是 服务器地址 , 登录用户名 , 密码 , 数据库名称

第4行 我们库里字符串的格式是varchar 代码里面要cast as nvarchar 不然会有乱码 这一点很重要

第5行 pd.read_sql 将查询结果转换成pandas库中dataframe类型

第6行 新增一列 将代码转换成wind代码  写着玩的

第8行 将dataframe类型数据导出到Excel文件 , 并且将索引列index设置成空

结果如下图

 谢谢!

posted @ 2019-05-05 13:18  布里塔  阅读(5347)  评论(1编辑  收藏  举报