-
-
Save adxrgh/b07dfe21f5952cb217502e33070d54f5 to your computer and use it in GitHub Desktop.
[wind获取全部A股数据并存储]#tags:wind,
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding:utf-8 -*- | |
# Author:jqzhang | |
# Editdate:2015-12-21 | |
from WindPy import w | |
import pymssql | |
from datetime import datetime | |
server = 'WIND-PUB010\SQLEXPRESS' | |
user = 'jqzhang' | |
password = 'wind' | |
dt=datetime.now() | |
w.start(); | |
# 命令如何写可以用命令生成器来辅助完成 | |
# 定义打印输出函数,用来展示数据使用 | |
#连接数据库 | |
conn = pymssql.connect(server, user, password, 'pymssql') | |
cursor = conn.cursor() | |
cursor.execute(""" | |
IF OBJECT_ID('stockprice', 'U') IS NOT NULL | |
DROP TABLE stockprice | |
CREATE TABLE stockprice ( | |
secid VARCHAR(20) NOT NULL, | |
tradedate VARCHAR(50), | |
openprice VARCHAR(50), | |
highprice VARCHAR(50), | |
lowprice VARCHAR(50), | |
closeprice VARCHAR(50), | |
volume VARCHAR(50), | |
amt VARCHAR(50), | |
) | |
""") | |
sql = "INSERT INTO stockprice VALUES (%s, %s, %d, %d, %d, %d, %d, %d)" | |
# 通过wset来取数据集数据 | |
print('\n\n'+'-----通过wset来取数据集数据,获取全部A股代码列表-----'+'\n') | |
wsetdata=w.wset('SectorConstituent','date=20160116;sectorId=a001010100000000;field=wind_code') | |
print(wsetdata) | |
for j in range(0,len(wsetdata.Data[0])): | |
# 通过wsd来提取时间序列数据,比如取开高低收成交量,成交额数据 | |
print "\n\n-----第 %i 次通过wsd来提取 %s 开高低收成交量数据-----\n" %(j,str(wsetdata.Data[0][j])) | |
wssdata=w.wss(str(wsetdata.Data[0][j]),'ipo_date') | |
wsddata1=w.wsd(str(wsetdata.Data[0][j]), "open,high,low,close,volume,amt", wssdata.Data[0][0], dt, "Fill=Previous") | |
if wsddata1.ErrorCode!=0: | |
continue | |
print wsddata1 | |
for i in range(0,len(wsddata1.Data[0])): | |
sqllist=[] | |
sqltuple=() | |
sqllist.append(str(wsetdata.Data[0][j])) | |
if len(wsddata1.Times)>1: | |
sqllist.append(wsddata1.Times[i].strftime('%Y%m%d')) | |
for k in range(0, len(wsddata1.Fields)): | |
sqllist.append(wsddata1.Data[k][i]) | |
sqltuple=tuple(sqllist) | |
cursor.execute(sql,sqltuple) | |
conn.commit() | |
conn.close() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment