Advertisement
Guest User

Untitled

a guest
May 14th, 2017
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. # -*- coding:utf-8 -*-
  2. # Author:jqzhang
  3. # Editdate:2015-12-21
  4. from WindPy import w
  5. import pymssql
  6. from datetime import datetime
  7.  
  8. server = 'WIND-PUB010\SQLEXPRESS'
  9. user = 'jqzhang'
  10. password = 'wind'
  11. dt=datetime.now()
  12. w.start();
  13.  
  14. # 命令如何写可以用命令生成器来辅助完成
  15. # 定义打印输出函数,用来展示数据使用
  16. #连接数据库
  17. conn = pymssql.connect(server, user, password, 'pymssql')
  18. cursor = conn.cursor()
  19. cursor.execute("""
  20. IF OBJECT_ID('stockprice', 'U') IS NOT NULL
  21. DROP TABLE stockprice
  22. CREATE TABLE stockprice (
  23. secid VARCHAR(20) NOT NULL,
  24. tradedate VARCHAR(50),
  25. openprice VARCHAR(50),
  26. highprice VARCHAR(50),
  27. lowprice VARCHAR(50),
  28. closeprice VARCHAR(50),
  29. volume VARCHAR(50),
  30. amt VARCHAR(50),
  31. )
  32. """)
  33. sql = "INSERT INTO stockprice VALUES (%s, %s, %d, %d, %d, %d, %d, %d)"
  34.  
  35. # 通过wset来取数据集数据
  36. print('\n\n'+'-----通过wset来取数据集数据,获取全部A股代码列表-----'+'\n')
  37. wsetdata=w.wset('SectorConstituent','date=20160116;sectorId=a001010100000000;field=wind_code')
  38. print(wsetdata)
  39.  
  40. for j in range(0,len(wsetdata.Data[0])):
  41. # 通过wsd来提取时间序列数据,比如取开高低收成交量,成交额数据
  42. print "\n\n-----第 %i 次通过wsd来提取 %s 开高低收成交量数据-----\n" %(j,str(wsetdata.Data[0][j]))
  43. wssdata=w.wss(str(wsetdata.Data[0][j]),'ipo_date')
  44. wsddata1=w.wsd(str(wsetdata.Data[0][j]), "open,high,low,close,volume,amt", wssdata.Data[0][0], dt, "Fill=Previous")
  45. if wsddata1.ErrorCode!=0:
  46. continue
  47. print wsddata1
  48. for i in range(0,len(wsddata1.Data[0])):
  49. sqllist=[]
  50. sqltuple=()
  51. sqllist.append(str(wsetdata.Data[0][j]))
  52. if len(wsddata1.Times)>1:
  53. sqllist.append(wsddata1.Times[i].strftime('%Y%m%d'))
  54. for k in range(0, len(wsddata1.Fields)):
  55. sqllist.append(wsddata1.Data[k][i])
  56. sqltuple=tuple(sqllist)
  57. cursor.execute(sql,sqltuple)
  58. conn.commit()
  59. conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement