py1.py

# -*- coding: utf-8 -*-
import sqlalchemy
import tushare
import pandas
import socket
import struct class Mysql0: def __init__(self, user0='test', password0='123456', dsn0='odbcdsn', host0='192.168.1.3', port0=12345):
self.user0 = user0
self.password0 = password0
self.dsn0 = dsn0
self.engine0 = sqlalchemy.create_engine('mysql+pyodbc://'+self.user0+':'+self.password0+'@'+self.dsn0)
self.host0 = host0
self.port0 = port0 def get_url_data0(self):
codelist0 = pandas.DataFrame((tushare.get_today_all())['code'])
codelist0 = codelist0.sort(columns='code', ascending=True)
codelist0['index'] = pandas.DataFrame([i for i in range(0, len(codelist0))], codelist0.index)
codelist0.reindex(index=codelist0['code'])
codelist0.to_sql('codelist', self.engine0, if_exists='replace', index=True, index_label='index')
self.engine0.connect().execute('alter table testdb.codelist add primary key(`index`)')
for i in range(0, len(codelist0)):
stockdata0 = tushare.get_h_data(codelist0['code'][i])
stockdata0['date'] = pandas.Series(stockdata0.index, stockdata0.index)
stockdata0 = stockdata0.sort_values(by='date', ascending=True)
stockdata0['index'] = pandas.DataFrame([i for i in range(0, len(stockdata0))], stockdata0.index)
stockdata0.to_sql(codelist0['code'][i], self.engine0, if_exists='replace', index=True, index_label='index')
self.engine0.connect().execute('alter table testdb.'+codelist0['code'][i]+' add primary key(`index`)') def get_sql_data0(self, code0='000410'):
stockdata1 = pandas.read_sql_table(code0, self.engine0)
return code0, stockdata1 def run_socket_server0(self):
socket0 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket0.bind((self.host0, self.port0))
socket0.listen(5)
code1, stockdata2 = self.get_sql_data0()
i0 = stockdata2['index']
o0 = stockdata2['open']
h0 = stockdata2['high']
l0 = stockdata2['low']
c0 = stockdata2['close']
v0 = stockdata2['volume']
i = 0
while True:
connection0, address0 = socket0.accept()
if connection0.recv(1024) == b'connect' and i < len(i0):
connection0.send(struct.pack('6si5f', code1.encode('utf-8'), i0[i], o0[i], h0[i], l0[i], c0[i], v0[i]))
i += 1
else:
connection0.send(struct.pack('6si5f', '888888'.encode('utf-8'), 8, 8, 8, 8, 8, 8))
connection0.close()
socket0.close() def run_socket_client0(self, message0=b'connect'):
socket1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket1.connect((self.host0, self.port0))
socket1.send(message0)
code2, i1, o1, h1, l1, c1, v1 = struct.unpack('6si5f', socket1.recv(1024)[:32])
socket1.close()
return code2.decode('utf-8'), i1, o1, h1, l1, c1, v1

py2.py

# coding=utf-8
import sys
import py1
sys.path.append('D:\\360data\\MyWorkSpace1')
Py1 = py1.Mysql0()
Py1.run_socket_server0()

py3.py

# coding=utf-8
import sys
import time
import py1
import pandas
sys.path.append('D:\\360data\\MyWorkSpace1')
Py1 = py1.Mysql0()
f0 = open('c:\\1.txt', 'a')
f0.write('code'+','+'index'+','+'open'+','+'high'+','+'low'+','+'close'+','+'volume'+'\n')
while True:
code1, i1, o1, h1, l1, c1, v1 = Py1.run_socket_client0()
if code1 == '888888':
break
f0.write(code1+','+str(i1)+','+str(o1)+','+str(h1)+','+str(l1)+','+str(c1)+','+str(v1)+'\n')
time.sleep(0.01)
f0.close()
f1 = pandas.read_csv('c:\\1.txt')
print(f1)

Mysql 与 Python socket的更多相关文章

  1. 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法

    mysql,mysqldump,Mysqladmin,php连接mysql服务常会提示下面错误: ERROR 2002 (HY000): Can't connect to local MySQL se ...

  2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    有时候,当我们使用"mysql"."mysqladmin"."mysqldump"等命令管理数据库时,服务器抛出类似如下错误: 一.错误现场 ...

  3. 启动Mysql服务提示Can’t connect to local MySQL server through socket的解决方法

    启动Mysql服务常会提示下面错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/ ...

  4. Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) ;

    Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) ; 如果你在网上search这个 ...

  5. OperationalError: (2002, “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)”)

    OperationalError: (2002, “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld ...

  6. PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2)

    如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' ...

  7. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...

  8. Can’t connect to local MySQL server through socket的解决方法

    http://www.aiezu.com/db/mysql_cant_connect_through_socket.html mysql,mysqldump,php连接mysql服务常会提示下面错误: ...

  9. ERROR 2002 (HY000): Can't connect to local MySQL server through socket

    原文链接:https://blog.csdn.net/u011262253/article/details/82802157 一.错误现场还原: 下面我们通过三种方式来连接,然后观察提示的错误信息: ...

随机推荐

  1. 爱上MVC3系列~Html.BeginForm与Ajax.BeginForm

    Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步 ...

  2. Entity Framework Code First (四)Fluent API - 配置属性/类型

    上篇博文说过当我们定义的类不能遵循约定(Conventions)的时候,Code First 提供了两种方式来配置你的类:DataAnnotations 和 Fluent API, 本文将关注 Flu ...

  3. WebApi服务Uri加密及验证的两种方式

    最近的一个项目要求服务端与UI层分离,业务层以WebApi方式向外提供所有业务服务,服务在数据保密性方面提出了要求,主要包括: 1:客户端认证: 2:服务请求超时(默认5分钟): 3:服务Get请求的 ...

  4. eclipse-mvn打包跳过junit测试类

    修改pom.xml,在build选项加上plugins的这段如下: <build> ..... <plugins> <plugin> <groupId> ...

  5. sql-将查询字段拼接起来

    sql语句 select (a + b) as c mysql不起作用

  6. 系统间通信(9)——通信管理与RMI 下篇

    接上文<架构设计:系统间通信(8)--通信管理与RMI 上篇>.之前说过,JDK中的RMI框架在JDK1.1.JDK1.2.JDK1.5.JDK1.6+几个版本中做了较大的调整.以下我们讨 ...

  7. Chrome编辑了样式或者JS之后自动同步回本地工程

    比如我用HBuilder进行调试,在Chrome上修改了几个样式,我们通常的做法是,拷贝修改后的地方,然后再进行覆盖. 现在有了全自动的操作,在Chrome上修改了样式之后,通过Sources的Sav ...

  8. CentOS加载U盘

    概述: 把CentOS设置成了启动进入命令行,结果不知道在哪儿找U盘了,于是搜集了一些命令. 1. 查看分区信息,以确定那个是U盘 使用root执行fdisk -l,确定U盘是sdb1 2. 挂载U盘 ...

  9. 海边直播目标2017全国初中数学竞赛班课堂测试题解答-The Final

    1. 设函数 $f(x) = 2^x(ax^2 + bx + c)$ 满足等式 $f(x+1) - f(x) = 2^x\cdot x^2$, 求 $f(1)$. 解答: 由 $f(x) = 2^x( ...

  10. 树链剖分I 原理

    树链剖分(Heavy Light Decomposition, HLD)是一种将对[树上两点间的路径]上[边或点]的[修改与查询]转化到[序列]上来处理的方法. 目的:将树的边或点转化到一个线性结构( ...