python mysql.sock_Mysql 与 Python socket

#-*- coding: utf-8 -*-

importsqlalchemyimporttushareimportpandasimportsocketimportstructclassMysql0: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=port0defget_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 inrange(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 inrange(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 inrange(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)returncode0, stockdata1defrun_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=0whileTrue:

connection0, address0=socket0.accept()if connection0.recv(1024) == b'connect' and i

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值