1 Star 0 Fork 0

jx0913/stock

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
black_list_sql.py 2.26 KB
一键复制 编辑 原始数据 按行查看 历史
Rocky Chen 提交于 2019-01-18 09:17 . update change
# -*-coding=utf-8-*-
# 股市黑名单
from setting import get_mysql_conn,llogger,DATA_PATH
import os
import codecs
logger = llogger(__file__)
def create_tb(conn):
cmd = '''CREATE TABLE IF NOT EXISTS `tb_blacklist` (DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,CODE VARCHAR(6) PRIMARY KEY,NAME VARCHAR(60),REASON TEXT);'''
cur = conn.cursor()
try:
cur.execute(cmd)
conn.commit()
except Exception as e:
logger.info(e)
conn.rollback()
def update_data(filename,conn):
cur = conn.cursor()
with codecs.open(filename, 'r',encoding='utf8') as f:
content = f.readlines()
if not content:
return
for line in content:
(code, name, reason) = line.strip().split(';')
cmd = '''INSERT INTO `tb_blacklist` (CODE,NAME,REASON) VALUES (\"%s\",\"%s\",\"%s\")''' % (code, name, reason)
try:
cur.execute(cmd)
conn.commit()
except Exception as e:
logger.info(e)
logger.info('dup code {}'.format(code))
conn.rollback()
continue
else:
logger.info('insert successfully {}'.format(name))
# 调试
def get_name_number():
filename = os.path.join(DATA_PATH, 'blacklist.csv')
with codecs.open(filename, 'r', encoding='utf8') as f:
content = f.readlines()
if not content:
return
logger.info('len of content {}'.format(len(content)))
code_list = []
for i in content:
code_list.append(i.split(';')[0])
logger.info(code_list)
logger.info(len(set(code_list)))
# 找出重复
seen = set()
dup_list = []
for i in code_list:
if i in seen:
dup_list.append(i)
else:
seen.add(i)
logger.info('dup item {}'.format(dup_list))
def main():
filename = os.path.join(DATA_PATH, 'blacklist.csv')
# 本地更新
logger.info('update local')
db_name = 'db_stock'
conn = get_mysql_conn(db_name, local='local')
create_tb(conn)
update_data(filename,conn)
# 远程更新
# db_name = 'db_stock'
logger.info('update remote')
remote_conn = get_mysql_conn('', local='ali')
create_tb(remote_conn)
update_data(filename,remote_conn)
if __name__ == '__main__':
main()
# get_name_number()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jx0913/stock.git
git@gitee.com:jx0913/stock.git
jx0913
stock
stock
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385