From ede3d5b6725e17a43833f6456d358e7c33be4fa6 Mon Sep 17 00:00:00 2001 From: laixingyu Date: Mon, 24 Jul 2023 11:27:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E4=B8=9C=E8=B4=A2?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E6=95=B0=E6=8D=AE=E8=BD=AC=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- transferIndustryData_python.py | 158 +++++++++++++++------------------ 1 file changed, 74 insertions(+), 84 deletions(-) diff --git a/transferIndustryData_python.py b/transferIndustryData_python.py index fdb9e0b..f9c86a9 100644 --- a/transferIndustryData_python.py +++ b/transferIndustryData_python.py @@ -1,18 +1,36 @@ #导入指数数据 import pymysql -# 数据库A的连接信息 +# 数据库A的连接信息;NAS数据库 +# db_a_config = { +# 'host': '192.168.0.222', +# 'user': 'root', +# 'password': '1qazse42W3', +# 'db': 'ry', +# 'charset': 'utf8mb4', +# } + +# # 数据库B的连接信息;NAS数据库 +# db_b_config = { +# 'host': '192.168.0.222', +# 'user': 'root', +# 'password': '1qazse42W3', +# 'db': 'mojin', +# 'charset': 'utf8mb4', +# } + +# 数据库A的连接信息;腾讯云数据库 db_a_config = { - 'host': '192.168.0.222', + 'host': '124.223.98.178', 'user': 'root', 'password': '1qazse42W3', 'db': 'ry', 'charset': 'utf8mb4', } -# 数据库B的连接信息 +# 数据库B的连接信息;腾讯云数据库 db_b_config = { - 'host': '192.168.0.222', + 'host': '124.223.98.178', 'user': 'root', 'password': '1qazse42W3', 'db': 'mojin', @@ -36,107 +54,79 @@ try: db_a_cursor.execute(sql_trade_qurey,sql_trade) trading_dates = db_a_cursor.fetchall() - #查询东财基础数据 - industries_map = {} - sql_stockindustry = "select code,name from stock_index where trade_day = '2022-07-01'" - db_a_cursor.execute(sql_stockindustry) - industries = db_a_cursor.fetchall() - for industry in industries: - code,name = industry - industries_map[name] = (code,name) - - #查询基础数据 - sql_stockbasic = "select code,name,blemind2,blemind3,listdate from stock_basis" - db_a_cursor.execute(sql_stockbasic) - stock_basic_datas = db_a_cursor.fetchall() - for row in stock_basic_datas: - code,name,blemind2,blemind3,listdate = row - if code == '数据来源:东方财富Choice数据' : - continue - # print('stock_basic_datas: ',code,name,blemind2) - stock_basic_map[code] = (code,name,blemind2,blemind3,listdate,industries_map[blemind2][0]) - - for row in trading_dates: trading_date,week,trade = row print('start transfer ',trading_date , ' data.') #查询日交易数据 - sql_stock_query = 'select code,trade_day, open,close,high,low,islimit,isdrop,differrange,trade_days,volumn,amount,differrange10,differrange20,differrange60,avg_volume20,freefloat_market_value,total_market_value,agencies_hold from stocks where trade_day = %s' + sql_stock_query = 'select code,trade_day, open,close,high,low,differrange,volumn,amount,limitupnum,limitdownnum,suspendnum,risenum,fallnum,flatnum,componentnum,mv,pettm,pettm_mid,liqmv,rcnthigh,rcntlow from stock_index where trade_day = %s' db_a_cursor.execute(sql_stock_query,trading_date) datas = db_a_cursor.fetchall() sortIndex = 1 #遍历数据,并组装数据,转存到目标库中 - for stock in datas: - code,trade_day, open,close,high,low,islimit,isdrop,differrange,trade_days,volumn,amount,differrange10,differrange20,differrange60,avg_volume20,freefloat_market_value,total_market_value,agencies_hold = stock + for stock_index_data in datas: + code,name,trade_day, open,close,high,low,differrange,volumn,amount,limitupnum,limitdownnum,suspendnum,risenum,fallnum,flatnum,componentnum,mv,pettm,pettm_mid,liqmv,rcnthigh,rcntlow = stock_index_data business_date = trading_date sort = sortIndex sortIndex +=1 security_code = code - security_name = stock_basic_map[code][1] - security_type = '' - if code[0:2] == '30': - security_type = '30' - elif code[0:2] == '00': - security_type = 'SZ' - elif code[0:2] == '60': - security_type = 'SH' - elif code[0:3] == '688': - security_type = '688' - # print(security_type,security_name,security_code) + security_name = name + security_type = 'EI' + number_ingredients = componentnum opening_price = open closing_price = close - highest_price = high - lowest_price = low - rise_losses_current_day = differrange - dong_cai_industry_index_level2 = stock_basic_map[code][2] - dong_cai_industry_index_level3 = stock_basic_map[code][3] - range_rise_losses20 = differrange20 - range_rise_losses10 = differrange10 - range_rise_losses60 = differrange60 - initial_listing_date = stock_basic_map[code][4] - number_days_available = trade_days volume = volumn turnover = amount - dong_cai_industry_index_code2 = stock_basic_map[code][5] - free_capitalization = freefloat_market_value - average_volume_day20 = avg_volume20 - total_institutional_positions = agencies_hold - rise_stop = islimit - losses_stop = isdrop + total_capitalization = mv + free_capitalization = liqmv + change_percentage = differrange + highest_price = high + lowest_price = low + rise_number = risenum + losses_number = fallnum + flat_number = flatnum + rise_stop_number = limitupnum + losses_stop_number = limitdownnum + stop_number = suspendnum + recently_high = rcnthigh + recently_low = rcntlow + pe_ttm= pettm + pe_center_ttm = pettm_mid # create_time = - sql_insert = f"INSERT INTO original_issue_stock (business_date,sort,security_code,security_name,security_type,opening_price,closing_price,highest_price,lowest_price,rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop) VALUES (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" - db_b_cursor.execute(sql_insert, (business_date,sort,security_code,security_name,security_type,opening_price,closing_price,highest_price,lowest_price,rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop)) + sql_insert = f"INSERT INTO dong_cai_secondary_industry (business_date,sort,security_code,security_name,security_type,number_ingredients,opening_price,closing_price,volume,turnover,total_capitalization,free_capitalization,change_percentage,highest_price,lowest_price,rise_number,losses_number,flat_number,rise_stop_number,losses_stop_number,stop_number,recently_high,recently_low,pe_ttm,pe_center_ttm rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" + db_b_cursor.execute(sql_insert, (business_date,sort,security_code,security_name,security_type,number_ingredients,opening_price,closing_price,volume,turnover,total_capitalization,free_capitalization,change_percentage,highest_price,lowest_price,rise_number,losses_number,flat_number,rise_stop_number,losses_stop_number,stop_number,recently_high,recently_low,pe_ttm,pe_center_ttm rise_losses_current_day,dong_cai_industry_index_level2,dong_cai_industry_index_level3,range_rise_losses20,range_rise_losses10,range_rise_losses60,initial_listing_date,number_days_available,volume,turnover,dong_cai_industry_index_code2,free_capitalization,average_volume_day20,total_institutional_positions,rise_stop,losses_stop)) #提交数据到数据库B中 db_b_conn.commit() print('successed transfer ',trading_date , ' data.' ) print('\r\n') - ####original_issue_stock -# `business_date` date NOT NULL COMMENT '业务日期', -# `sort` int(0) NULL DEFAULT NULL COMMENT '排名', -# `security_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券代码', -# `security_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券名称', -# `security_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券类型', -# `opening_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开盘价', -# `closing_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '收盘价', -# `highest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最高价', -# `lowest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '最低价', -# `rise_losses_current_day` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当日涨跌幅', -# `dong_cai_industry_index_level2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '东财行业指数2级', -# `dong_cai_industry_index_level3` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '东财行业指数3级', -# `range_rise_losses20` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日区间涨跌幅', -# `range_rise_losses10` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日区间涨跌幅', -# `range_rise_losses60` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '60日区间涨跌幅', -# `initial_listing_date` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '首发上市日期', -# `number_days_available` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '可交易日数', -# `volume` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交量', -# `turnover` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额', -# `dong_cai_industry_index_code2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属东财行业指数代码[行业类别]2级', -# `free_capitalization` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自由流通市值', -# `average_volume_day20` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日区间平均成交量', -# `total_institutional_positions` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '机构持仓合计', -# `rise_stop` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否涨停 1-是 0-否', -# `losses_stop` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否跌停 1-是 0-否', -# `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + ####dong_cai_secondary_industry +# `id` bigint NOT NULL AUTO_INCREMENT, +# `business_date` date NOT NULL COMMENT '业务日期', +# `sort` int DEFAULT NULL COMMENT '排名(序号)', +# `security_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '证券代码', +# `security_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '证券名称', +# `security_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '证券类型', +# `number_ingredients` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成份个数', +# `opening_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '开盘价', +# `closing_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '收盘价', +# `volume` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成交量(股)', +# `turnover` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成交额(百万元)', +# `total_capitalization` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '总市值(百万元)', +# `free_capitalization` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '自由流通市值(百万元)', +# `change_percentage` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '涨跌幅(%)', +# `highest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最高价', +# `lowest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最低价', +# `rise_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '上涨家数', +# `losses_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '下跌家数', +# `flat_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '平盘家数', +# `rise_stop_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '涨停家数', +# `losses_stop_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '跌停家数', +# `stop_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '停牌家数', +# `recently_high` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '近期创历史新高', +# `recently_low` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '近期创历史新低', +# `pe_ttm` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '市盈率PE(TTM)', +# `pe_center_ttm` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '市盈率PE中位值(TTM)', +# `create_time` datetime DEFAULT NULL COMMENT '创建时间', + ##### # print(datas) # print(stock_basic_map)