

数据是个宝,研究少烦恼
挖的深,看的远,找规律
做笔记,练盘感,多总结

★★★★★博文原创不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习小技巧。喜欢的老铁可以点赞+收藏分享+置顶,小红牛在此表示感谢。★★★★★
股票热点数据分类统计系统3.0(padans+matplotlib+sqlite3)
模拟炒股K线训练系统2.0(threading+mplfinance)
股道自研自悟100条(自我+认知+心性,大成修行至无惧无惑境界)
通达信指标公式34:避雷参考,选股前,必须优先排除有垃圾属性的股。
通达信指标公式33:严重异动提醒,计算10/30日的涨跌幅偏离值
针对原数据库,对其中存储的原始数据中的“申万行业”和“热点”字段进行更新。需要解析每个记录中的data字段(JSON字符串),提取出“申万行业”和“热点”的值,按照规则处理(申万行业取“--”右边,热点取“:”左边),然后更新回数据库。

2.注意事项:
完整源码如下
# -*- coding: utf-8 -*-# @Author : 小红牛# 微信公众号:gxzfp888import sqlite3import jsondef update_database(db_path='fp_analysis.db'):"""遍历数据库中的所有记录,对热点和申万行业字段进行标准化处理。"""conn = sqlite3.connect(db_path)cursor = conn.cursor()# 查询所有记录cursor.execute("SELECT id, data FROM raw_data")rows = cursor.fetchall()update_count = 0for row_id, data_json in rows:try:data = json.loads(data_json)except json.JSONDecodeError:continue # 数据损坏,跳过modified = False# 处理热点列(取“:”左边)if '热点' in data and data['热点'] is not None:val = data['热点']if isinstance(val, str) and ':' in val:new_val = val.split(':', 1)[0].strip()if new_val != val:data['热点'] = new_valmodified = True# 处理申万行业列(取“--”右边)if '申万行业' in data and data['申万行业'] is not None:val = data['申万行业']if isinstance(val, str) and '--' in val:new_val = val.split('--', 1)[1].strip()if new_val != val:data['申万行业'] = new_valmodified = Trueif modified:new_data_json = json.dumps(data, ensure_ascii=False)cursor.execute("UPDATE raw_data SET data = ? WHERE id = ?", (new_data_json, row_id))update_count += 1# 每2000 条提交一次,避免事务过大if update_count % 2000 == 0:conn.commit()print(f"已更新 {update_count} 条记录...")conn.commit()conn.close()print(f"数据库更新完成,共更新 {update_count} 条记录。")if __name__ == "__main__":# 如果数据库文件不在当前目录,请修改路径update_database('fp_analysis.db')
温馨提示:股市有风险,投资需谨慎。本文所写内容仅供粉丝们参考使用,仅为个人研究观点表述,股友们须自己思考与分析股市。
-!! 完毕 ,感谢您的收看!!-
-------★★历史博文集合★★------
