From 77366aa3656895ff8b41170e2caa70bc1db396f2 Mon Sep 17 00:00:00 2001 From: laixingyu Date: Sat, 12 Aug 2023 16:38:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=90=84=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=BA=E6=96=B9=E6=B3=95=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=BB=9F=E4=B8=80=E8=BD=AC=E6=8D=A2=E6=9F=90=E6=97=A5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- transAllData.py | 63 ++++ transferData_python.py | 461 ++++++++++++++++------------ transferIndustryData_python.py | 401 ++++++++++++++---------- transferIndustrySatistics_python.py | 101 ++++-- transferNewrecordData_python.py | 448 ++++++++++++++++----------- 5 files changed, 905 insertions(+), 569 deletions(-) create mode 100644 transAllData.py diff --git a/transAllData.py b/transAllData.py new file mode 100644 index 0000000..a5f0347 --- /dev/null +++ b/transAllData.py @@ -0,0 +1,63 @@ +import transferIndustrySatistics_python as tis +import transferData_python as td +import transferIndustryData_python as tid +import transferNewrecordData_python as tnd +import pymysql + +def main() : + # 数据库A的连接信息;腾讯云数据库 + db_a_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'ry', + 'charset': 'utf8mb4', + } + + # 数据库B的连接信息;腾讯云数据库 + db_b_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'mojin', + 'charset': 'utf8mb4', + } + try: + # 连接数据库A + db_a_conn = pymysql.connect(**db_a_config) + db_a_cursor = db_a_conn.cursor() + + # 连接数据库B + db_b_conn = pymysql.connect(**db_b_config) + db_b_cursor = db_b_conn.cursor() + + trade_date = '2023-08-09' + + #转换数据 + td.toTransData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_date) + + #转换新高数据 + tnd.toTransNewRecordData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_date) + + #转换版块数据 + tid.toTransIndustryData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_date) + + # 转换分析数据 + tis.toTransIndustrySatisticsData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_date) + except Exception as e: + print(f"出现错误:{e}") + + finally: + # 关闭连接 + if db_a_cursor: + db_a_cursor.close() + if db_a_conn: + db_a_conn.close() + + if db_b_cursor: + db_b_cursor.close() + if db_b_conn: + db_b_conn.close() + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/transferData_python.py b/transferData_python.py index a65eb9f..e969cf7 100644 --- a/transferData_python.py +++ b/transferData_python.py @@ -1,197 +1,274 @@ #导入动量原始股 import pymysql -# #数据库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': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'ry', - 'charset': 'utf8mb4', -} - -# 数据库B的连接信息;腾讯云数据库 -db_b_config = { - 'host': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'mojin', - 'charset': 'utf8mb4', -} - -try: - # 连接数据库A - db_a_conn = pymysql.connect(**db_a_config) - db_a_cursor = db_a_conn.cursor() - - # 连接数据库B - db_b_conn = pymysql.connect(**db_b_config) - db_b_cursor = db_b_conn.cursor() - - stock_basic_map = {} - - #查询交易日数据 8月9日,更新数据到8月9日 - sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > "2023-08-09"' - sql_trade = "trading" - 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]) +def toTransData(db_conn_a,dbcursor_a,db_conn_b,dbcursor_b,trade_date): + # #数据库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': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'ry', + # 'charset': 'utf8mb4', + # } + + # # 数据库B的连接信息;腾讯云数据库 + # db_b_config = { + # 'host': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'mojin', + # 'charset': 'utf8mb4', + # } + + # try: + # # 连接数据库A + # db_a_conn = pymysql.connect(**db_a_config) + # db_a_cursor = db_a_conn.cursor() + + # # 连接数据库B + # db_b_conn = pymysql.connect(**db_b_config) + # db_b_cursor = db_b_conn.cursor() + # 连接数据库A + db_a_conn = db_conn_a + db_a_cursor = dbcursor_a + + # 连接数据库B + db_b_conn = db_conn_b + db_b_cursor = dbcursor_b + + trans_date = trade_date + + stock_basic_map = {} + + #查询交易日数据 8月9日,更新数据到8月9日 + sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > %s' + sql_trade = "trading" + db_a_cursor.execute(sql_trade_qurey,(sql_trade,trans_date)) + 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 data ',trading_date , ' data.') - if trading_date == '2023-08-11': - print('break then finish transfer data ',trading_date , ' data.') - break - #查询日交易数据 - 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' - 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 - 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) - 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 - # 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)) - #提交数据到数据库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 '创建时间', -##### - # print(datas) - # print(stock_basic_map) - # print(trading_dates) - # 查询数据库A中的数据表a1和a2的数据,并进行关联 - #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') - #data_to_transfer = db_a_cursor.fetchall() - - # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) - # db_b_cursor.execute('DELETE FROM c') - - # 插入数据到数据库B中的表c中 - # for row in data_to_transfer: - # id, date, user, userName, count = row - # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" - # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) - - # 提交数据到数据库B中 - # db_b_conn.commit() - - print("数据传输完成!") - -except Exception as e: - print(f"出现错误:{e}") - -finally: - # 关闭连接 - if db_a_cursor: - db_a_cursor.close() - if db_a_conn: - db_a_conn.close() - - if db_b_cursor: - db_b_cursor.close() - if db_b_conn: - db_b_conn.close() + for row in trading_dates: + trading_date,week,trade = row + print('start transfer data ',trading_date , ' data.') + if trading_date == '2023-08-11': + print('break then finish transfer data ',trading_date , ' data.') + break + #查询日交易数据 + 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' + 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 + 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) + 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 + # 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)) + #提交数据到数据库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 '创建时间', + ##### + # print(datas) + # print(stock_basic_map) + # print(trading_dates) + + # 查询数据库A中的数据表a1和a2的数据,并进行关联 + #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') + #data_to_transfer = db_a_cursor.fetchall() + + # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) + # db_b_cursor.execute('DELETE FROM c') + + # 插入数据到数据库B中的表c中 + # for row in data_to_transfer: + # id, date, user, userName, count = row + # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" + # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) + + # 提交数据到数据库B中 + # db_b_conn.commit() + + print("数据传输完成!") + + # except Exception as e: + # print(f"出现错误:{e}") + + # finally: + # # 关闭连接 + # if db_a_cursor: + # db_a_cursor.close() + # if db_a_conn: + # db_a_conn.close() + + # if db_b_cursor: + # db_b_cursor.close() + # if db_b_conn: + # db_b_conn.close() + +def main(): + # #数据库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': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'ry', + 'charset': 'utf8mb4', + } + + # 数据库B的连接信息;腾讯云数据库 + db_b_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'mojin', + 'charset': 'utf8mb4', + } + + try: + # 连接数据库A + db_a_conn = pymysql.connect(**db_a_config) + db_a_cursor = db_a_conn.cursor() + + # 连接数据库B + db_b_conn = pymysql.connect(**db_b_config) + db_b_cursor = db_b_conn.cursor() + + trade_day = '2023-08-09' + + toTransData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_day) + + except Exception as e: + print(f"出现错误:{e}") + + finally: + # 关闭连接 + if db_a_cursor: + db_a_cursor.close() + if db_a_conn: + db_a_conn.close() + + if db_b_cursor: + db_b_cursor.close() + if db_b_conn: + db_b_conn.close() +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/transferIndustryData_python.py b/transferIndustryData_python.py index 51062a9..e03df78 100644 --- a/transferIndustryData_python.py +++ b/transferIndustryData_python.py @@ -1,169 +1,238 @@ #导入指数数据 import pymysql -#数据库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': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'ry', - 'charset': 'utf8mb4', -} - -# 数据库B的连接信息;腾讯云数据库 -db_b_config = { - 'host': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'mojin', - 'charset': 'utf8mb4', -} - -try: - # 连接数据库A - db_a_conn = pymysql.connect(**db_a_config) - db_a_cursor = db_a_conn.cursor() - - # 连接数据库B - db_b_conn = pymysql.connect(**db_b_config) - db_b_cursor = db_b_conn.cursor() - - stock_basic_map = {} - - #查询交易日数据 更新到8月9日 - sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > "2023-08-09"' - sql_trade = "trading" - db_a_cursor.execute(sql_trade_qurey,sql_trade) - trading_dates = db_a_cursor.fetchall() - - for row in trading_dates: - trading_date,week,trade = row - print('start transfer IndustryData ',trading_date , ' data.') - if trading_date == '2023-08-11': - print('break then finished transfer IndustryData',trading_date , ' data.') - break - #查询日交易数据 - sql_stock_query = 'select code,name,trade_day, open,close,high,low,differrange,volume,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_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 = name - security_type = 'EI' - number_ingredients = componentnum - opening_price = open - closing_price = close - volume = volumn - turnover = amount - 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 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) 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,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)) - #提交数据到数据库B中 - db_b_conn.commit() - print('successed transfer ',trading_date , ' data.' ) - print('\r\n') - ####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) - # print(trading_dates) - - # 查询数据库A中的数据表a1和a2的数据,并进行关联 - #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') - #data_to_transfer = db_a_cursor.fetchall() - - # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) - # db_b_cursor.execute('DELETE FROM c') - - # 插入数据到数据库B中的表c中 - # for row in data_to_transfer: - # id, date, user, userName, count = row - # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" - # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) - - # 提交数据到数据库B中 - # db_b_conn.commit() - - print("数据传输完成!") - -except Exception as e: - print(f"出现错误:{e}") - -finally: - # 关闭连接 - if db_a_cursor: - db_a_cursor.close() - if db_a_conn: - db_a_conn.close() - - if db_b_cursor: - db_b_cursor.close() - if db_b_conn: - db_b_conn.close() +def toTransIndustryData(db_conn_a,dbcursor_a,db_conn_b,dbcursor_b,trade_date): + #数据库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': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'ry', + # 'charset': 'utf8mb4', + # } + + # # 数据库B的连接信息;腾讯云数据库 + # db_b_config = { + # 'host': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'mojin', + # 'charset': 'utf8mb4', + # } + + # try: + # 连接数据库A + db_a_conn = db_conn_a + db_a_cursor = dbcursor_a + + # 连接数据库B + db_b_conn = db_conn_b + db_b_cursor = dbcursor_b + + trans_date = trade_date + + stock_basic_map = {} + + #查询交易日数据 更新到8月9日 + sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > %s' + sql_trade = "trading" + db_a_cursor.execute(sql_trade_qurey,(sql_trade,trans_date)) + trading_dates = db_a_cursor.fetchall() + + for row in trading_dates: + trading_date,week,trade = row + print('start transfer IndustryData ',trading_date , ' data.') + if trading_date == '2023-08-11': + print('break then finished transfer IndustryData',trading_date , ' data.') + break + #查询日交易数据 + sql_stock_query = 'select code,name,trade_day, open,close,high,low,differrange,volume,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_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 = name + security_type = 'EI' + number_ingredients = componentnum + opening_price = open + closing_price = close + volume = volumn + turnover = amount + 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 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) 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,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)) + #提交数据到数据库B中 + db_b_conn.commit() + print('successed transfer ',trading_date , ' data.' ) + print('\r\n') + ####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) + # print(trading_dates) + + # 查询数据库A中的数据表a1和a2的数据,并进行关联 + #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') + #data_to_transfer = db_a_cursor.fetchall() + + # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) + # db_b_cursor.execute('DELETE FROM c') + + # 插入数据到数据库B中的表c中 + # for row in data_to_transfer: + # id, date, user, userName, count = row + # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" + # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) + + # 提交数据到数据库B中 + # db_b_conn.commit() + + print("数据传输完成!") + + # except Exception as e: + # print(f"出现错误:{e}") + + # finally: + # # 关闭连接 + # if db_a_cursor: + # db_a_cursor.close() + # if db_a_conn: + # db_a_conn.close() + + # if db_b_cursor: + # db_b_cursor.close() + # if db_b_conn: + # db_b_conn.close() + +def main(): + #数据库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': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'ry', + 'charset': 'utf8mb4', + } + + # 数据库B的连接信息;腾讯云数据库 + db_b_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'mojin', + 'charset': 'utf8mb4', + } + + try: + # 连接数据库A + db_a_conn = pymysql.connect(**db_a_config) + db_a_cursor = db_a_conn.cursor() + + # 连接数据库B + db_b_conn = pymysql.connect(**db_b_config) + db_b_cursor = db_b_conn.cursor() + + trade_day = '2023-08-09' + toTransIndustryData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_day) + + except Exception as e: + print(f"出现错误:{e}") + + finally: + # 关闭连接 + if db_a_cursor: + db_a_cursor.close() + if db_a_conn: + db_a_conn.close() + + if db_b_cursor: + db_b_cursor.close() + if db_b_conn: + db_b_conn.close() +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/transferIndustrySatistics_python.py b/transferIndustrySatistics_python.py index 8b56ddf..5fcd6e3 100644 --- a/transferIndustrySatistics_python.py +++ b/transferIndustrySatistics_python.py @@ -248,7 +248,7 @@ def getPreData(dbconfig,dbcursor,date): return preDataMap -def main(): +def toTransIndustrySatisticsData(db_conn_a,dbcursor_a,db_conn_b,dbcursor_b,trade_date): # #数据库A的连接信息;NAS数据库 # db_a_config = { # 'host': '192.168.0.222', @@ -267,36 +267,42 @@ def main(): # 'charset': 'utf8mb4', # } - # 数据库A的连接信息;腾讯云数据库 - db_a_config = { - 'host': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'ry', - 'charset': 'utf8mb4', - } + # # 数据库A的连接信息;腾讯云数据库 + # db_a_config = { + # 'host': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'ry', + # 'charset': 'utf8mb4', + # } - # 数据库B的连接信息;腾讯云数据库 - db_b_config = { - 'host': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'mojin', - 'charset': 'utf8mb4', - } - try: - # 连接数据库A - db_a_conn = pymysql.connect(**db_a_config) - db_a_cursor = db_a_conn.cursor() + # # 数据库B的连接信息;腾讯云数据库 + # db_b_config = { + # 'host': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'mojin', + # 'charset': 'utf8mb4', + # } + # try: + # # 连接数据库A + # db_a_conn = pymysql.connect(**db_a_config) + # db_a_cursor = db_a_conn.cursor() + + # # 连接数据库B + # db_b_conn = pymysql.connect(**db_b_config) + # db_b_cursor = db_b_conn.cursor() + db_a_conn = db_conn_a + db_a_cursor = dbcursor_a # 连接数据库B - db_b_conn = pymysql.connect(**db_b_config) - db_b_cursor = db_b_conn.cursor() + db_b_conn = db_conn_b + db_b_cursor = dbcursor_b stock_basic_map = {} #转换数据的日期(单日) - trans_date = '2023-08-09' + trans_date = trade_date #查询交易日数据 sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > %s' @@ -625,6 +631,51 @@ def main(): print("数据传输完成!") + # except Exception as e: + # print(f"出现错误:{e}") + + # finally: + # # 关闭连接 + # if db_a_cursor: + # db_a_cursor.close() + # if db_a_conn: + # db_a_conn.close() + + # if db_b_cursor: + # db_b_cursor.close() + # if db_b_conn: + # db_b_conn.close() + +def main(): + # 数据库A的连接信息;腾讯云数据库 + db_a_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'ry', + 'charset': 'utf8mb4', + } + + # 数据库B的连接信息;腾讯云数据库 + db_b_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'mojin', + 'charset': 'utf8mb4', + } + try: + # 连接数据库A + db_a_conn = pymysql.connect(**db_a_config) + db_a_cursor = db_a_conn.cursor() + + # 连接数据库B + db_b_conn = pymysql.connect(**db_b_config) + db_b_cursor = db_b_conn.cursor() + + trade_day = '2023-08-09' + + toTransIndustrySatisticsData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_day) except Exception as e: print(f"出现错误:{e}") @@ -639,7 +690,7 @@ def main(): db_b_cursor.close() if db_b_conn: db_b_conn.close() - + if __name__ == "__main__": main() diff --git a/transferNewrecordData_python.py b/transferNewrecordData_python.py index 2501900..5b96ef5 100644 --- a/transferNewrecordData_python.py +++ b/transferNewrecordData_python.py @@ -1,190 +1,266 @@ #导入新高新低数据 import pymysql -# #数据库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': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'ry', - 'charset': 'utf8mb4', -} - -# 数据库B的连接信息;腾讯云数据库 -db_b_config = { - 'host': '124.223.98.178', - 'user': 'root', - 'password': '1qazse42W3', - 'db': 'mojin', - 'charset': 'utf8mb4', -} - -try: - # 连接数据库A - db_a_conn = pymysql.connect(**db_a_config) - db_a_cursor = db_a_conn.cursor() - - # 连接数据库B - db_b_conn = pymysql.connect(**db_b_config) - db_b_cursor = db_b_conn.cursor() - - stock_basic_map = {} - - #查询交易日数据 更新数据到 8月9日 - sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > "2023-08-09"' - sql_trade = "trading" - 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 newrecord data ',trading_date , ' data.') - if trading_date == '2023-08-11': - print('break then finished transfer newrecord ',trading_date , ' data.') - break - 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' - db_a_cursor.execute(sql_stock_query,trading_date) - datas = db_a_cursor.fetchall() - stocks_map = {} - #遍历数据,并组装数据,转存到目标库中 - 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 - stocks_map[code] = (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) - - #查询日交易数据 - sql_stock_query = 'select code,trade_day, isHigh,isLow from stocks_new_record where trade_day = %s' - db_a_cursor.execute(sql_stock_query,trading_date) - datas = db_a_cursor.fetchall() - #遍历数据,并组装数据,转存到目标库中 - for stock_new_record in datas: - code,trade_day, isHigh,isLow = stock_new_record - business_date = trading_date - 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) - opening_price = stocks_map[code][2] - closing_price = stocks_map[code][3] - highest_price = stocks_map[code][4] - highest_price_of_range = trading_date - change_percentage = stocks_map[code][8] - volume = stocks_map[code][10] - recently_high = isHigh - dong_cai_industry_index_level2 = stock_basic_map[code][2] - day_on_market = stocks_map[code][9] - is_st_stock='' - hit_low_recently = isLow - lowest_price_range = '' - is_star_st_stock = '' - # create_time = - sql_insert = f"INSERT INTO high_low_of_three_hundred (business_date,security_code,security_name,security_type,opening_price,closing_price,highest_price,highest_price_of_range,change_percentage,volume,recently_high,dong_cai_industry_index_level2,day_on_market,is_st_stock,hit_low_recently,lowest_price_range,is_star_st_stock) VALUES ( %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,security_code,security_name,security_type,opening_price,closing_price,highest_price,highest_price_of_range,change_percentage,volume,recently_high,dong_cai_industry_index_level2,day_on_market,is_st_stock,hit_low_recently,lowest_price_range,is_star_st_stock)) - #提交数据到数据库B中 - db_b_conn.commit() - print('successed transfer ',trading_date , ' data.' ) - print('\r\n') - ####high_low_of_three_hundred -# `id` bigint(0) NOT NULL AUTO_INCREMENT, -# `business_date` date NOT 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, -# `highest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, -# `highest_price_of_range` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, -# `change_percentage` 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 '成交量(股)', -# `recently_high` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '近期创阶段新高最新[近N日内]', -# `dong_cai_industry_index_level2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '东财行业指数2级', -# `day_on_market` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上市天数', -# `is_st_stock` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为ST股票 1-是 0-否', -# `hit_low_recently` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, -# `lowest_price_range` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, -# `is_star_st_stock` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为*ST股票 1-是 0-否', -# `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', - -##### - # print(datas) - # print(stock_basic_map) - # print(trading_dates) +def toTransNewRecordData(db_conn_a,dbcursor_a,db_conn_b,dbcursor_b,trade_date): + # #数据库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': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'ry', + # 'charset': 'utf8mb4', + # } + + # # 数据库B的连接信息;腾讯云数据库 + # db_b_config = { + # 'host': '124.223.98.178', + # 'user': 'root', + # 'password': '1qazse42W3', + # 'db': 'mojin', + # 'charset': 'utf8mb4', + # } + + # try: + # # 连接数据库A + # db_a_conn = pymysql.connect(**db_a_config) + # db_a_cursor = db_a_conn.cursor() + + # # 连接数据库B + # db_b_conn = pymysql.connect(**db_b_config) + # db_b_cursor = db_b_conn.cursor() + # 连接数据库A + db_a_conn = db_conn_a + db_a_cursor = dbcursor_a + + # 连接数据库B + db_b_conn = db_conn_b + db_b_cursor = dbcursor_b + + trans_date = trade_date + + stock_basic_map = {} + + #查询交易日数据 更新数据到 8月9日 + sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > %s' + sql_trade = "trading" + db_a_cursor.execute(sql_trade_qurey,(sql_trade,trade_date)) + 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]) + - # 查询数据库A中的数据表a1和a2的数据,并进行关联 - #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') - #data_to_transfer = db_a_cursor.fetchall() - - # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) - # db_b_cursor.execute('DELETE FROM c') - - # 插入数据到数据库B中的表c中 - # for row in data_to_transfer: - # id, date, user, userName, count = row - # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" - # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) - - # 提交数据到数据库B中 - # db_b_conn.commit() - - print("数据传输完成!") - -except Exception as e: - print(f"出现错误:{e}") - -finally: - # 关闭连接 - if db_a_cursor: - db_a_cursor.close() - if db_a_conn: - db_a_conn.close() - - if db_b_cursor: - db_b_cursor.close() - if db_b_conn: - db_b_conn.close() + for row in trading_dates: + trading_date,week,trade = row + print('start transfer newrecord data ',trading_date , ' data.') + if trading_date == '2023-08-11': + print('break then finished transfer newrecord ',trading_date , ' data.') + break + 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' + db_a_cursor.execute(sql_stock_query,trading_date) + datas = db_a_cursor.fetchall() + stocks_map = {} + #遍历数据,并组装数据,转存到目标库中 + 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 + stocks_map[code] = (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) + + #查询日交易数据 + sql_stock_query = 'select code,trade_day, isHigh,isLow from stocks_new_record where trade_day = %s' + db_a_cursor.execute(sql_stock_query,trading_date) + datas = db_a_cursor.fetchall() + #遍历数据,并组装数据,转存到目标库中 + for stock_new_record in datas: + code,trade_day, isHigh,isLow = stock_new_record + business_date = trading_date + 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) + opening_price = stocks_map[code][2] + closing_price = stocks_map[code][3] + highest_price = stocks_map[code][4] + highest_price_of_range = trading_date + change_percentage = stocks_map[code][8] + volume = stocks_map[code][10] + recently_high = isHigh + dong_cai_industry_index_level2 = stock_basic_map[code][2] + day_on_market = stocks_map[code][9] + is_st_stock='' + hit_low_recently = isLow + lowest_price_range = '' + is_star_st_stock = '' + # create_time = + sql_insert = f"INSERT INTO high_low_of_three_hundred (business_date,security_code,security_name,security_type,opening_price,closing_price,highest_price,highest_price_of_range,change_percentage,volume,recently_high,dong_cai_industry_index_level2,day_on_market,is_st_stock,hit_low_recently,lowest_price_range,is_star_st_stock) VALUES ( %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,security_code,security_name,security_type,opening_price,closing_price,highest_price,highest_price_of_range,change_percentage,volume,recently_high,dong_cai_industry_index_level2,day_on_market,is_st_stock,hit_low_recently,lowest_price_range,is_star_st_stock)) + #提交数据到数据库B中 + db_b_conn.commit() + print('successed transfer ',trading_date , ' data.' ) + print('\r\n') + ####high_low_of_three_hundred + # `id` bigint(0) NOT NULL AUTO_INCREMENT, + # `business_date` date NOT 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, + # `highest_price` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + # `highest_price_of_range` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + # `change_percentage` 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 '成交量(股)', + # `recently_high` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '近期创阶段新高最新[近N日内]', + # `dong_cai_industry_index_level2` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '东财行业指数2级', + # `day_on_market` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上市天数', + # `is_st_stock` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为ST股票 1-是 0-否', + # `hit_low_recently` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + # `lowest_price_range` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + # `is_star_st_stock` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为*ST股票 1-是 0-否', + # `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + + ##### + # print(datas) + # print(stock_basic_map) + # print(trading_dates) + + # 查询数据库A中的数据表a1和a2的数据,并进行关联 + #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id') + #data_to_transfer = db_a_cursor.fetchall() + + # 删除数据库B中表c的数据(可选,如果需要覆盖表c的数据) + # db_b_cursor.execute('DELETE FROM c') + + # 插入数据到数据库B中的表c中 + # for row in data_to_transfer: + # id, date, user, userName, count = row + # sql_insert = f"INSERT INTO c (id, date, user, userName, count) VALUES (%s, %s, %s, %s, %s)" + # db_b_cursor.execute(sql_insert, (id, date, user, userName, count)) + + # 提交数据到数据库B中 + # db_b_conn.commit() + + print("数据传输完成!") + + # except Exception as e: + # print(f"出现错误:{e}") + + # finally: + # # 关闭连接 + # if db_a_cursor: + # db_a_cursor.close() + # if db_a_conn: + # db_a_conn.close() + + # if db_b_cursor: + # db_b_cursor.close() + # if db_b_conn: + # db_b_conn.close() + +def main(): + # #数据库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': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'ry', + 'charset': 'utf8mb4', + } + + # 数据库B的连接信息;腾讯云数据库 + db_b_config = { + 'host': '124.223.98.178', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'mojin', + 'charset': 'utf8mb4', + } + + try: + # 连接数据库A + db_a_conn = pymysql.connect(**db_a_config) + db_a_cursor = db_a_conn.cursor() + + # 连接数据库B + db_b_conn = pymysql.connect(**db_b_config) + db_b_cursor = db_b_conn.cursor() + + trade_day = '2023-08-09' + toTransNewRecordData(db_a_conn,db_a_cursor,db_b_conn,db_b_cursor,trade_day) + + except Exception as e: + print(f"出现错误:{e}") + + finally: + # 关闭连接 + if db_a_cursor: + db_a_cursor.close() + if db_a_conn: + db_a_conn.close() + + if db_b_cursor: + db_b_cursor.close() + if db_b_conn: + db_b_conn.close() +if __name__ == "__main__": + main() \ No newline at end of file