chendongblog

不像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设置成空

结果如下图

 谢谢!

分类:

技术点:

相关文章: