from db.mysql_data_delegate import Mysqldb
|
from third_data.history_k_data_util import HistoryKDatasUtils
|
from utils import tool
|
|
|
class KPLLimitUpDataUtil:
|
@classmethod
|
def get_latest_block_infos(cls, min_day=tool.date_sub(tool.get_now_date_str(), 180), code=None,
|
max_day=tool.get_now_date_str()):
|
"""
|
@param min_day: 默认获取180天之前的
|
@param code: 代码
|
@return: 最近的涨停板块信息
|
"""
|
sql = f"SELECT r.`_code`, r.`_day`, r.`_hot_block_name`, r.`_blocks` FROM `kpl_limit_up_record` r WHERE r.`_day`>='{min_day}' and r.`_day` <'{max_day}'"
|
|
if code:
|
sql += f" AND _code='{code}'"
|
sql += " order by _create_time"
|
mysqldb = Mysqldb()
|
results = mysqldb.select_all(sql)
|
return results
|
|
@classmethod
|
def get_latest_block_infos_by_day(cls, day=tool.get_now_date_str()):
|
sql = f"SELECT * FROM `kpl_limit_up_record` r WHERE r.`_day`='{day}'"
|
mysqldb = Mysqldb()
|
results = mysqldb.select_all(sql)
|
return results
|
|
|
|
if __name__ == '__main__':
|
# 删除不是交易日期的数据
|
days = HistoryKDatasUtils.get_latest_trading_date(300)
|
for day in days:
|
pass
|
print(days)
|
mysqldb = Mysqldb()
|
results = mysqldb.select_all(f"SELECT _id, _day from kpl_limit_up_record r where r._day>='{days[-1]}'")
|
ids = []
|
for result in results:
|
if result[1] not in days:
|
ids.append(result[0])
|
# print("删除:", result)
|
if len(ids) > 10:
|
sql = f"delete from kpl_limit_up_record where " + ' or '.join([f"_id='{x}'" for x in ids])
|
mysqldb.execute(sql)
|
ids.clear()
|
pass
|