不像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设置成空
结果如下图
谢谢!