commit 4a1cca3b6bd9060c6dd07665ee9f9fc9467e94ef Author: laixingyu Date: Mon Jul 24 00:28:20 2023 +0800 fix: 增加转换数据python脚本 diff --git a/transferData_python.py b/transferData_python.py new file mode 100644 index 0000000..71f2e12 --- /dev/null +++ b/transferData_python.py @@ -0,0 +1,88 @@ +import pymysql + +# 数据库A的连接信息 +db_a_config = { + 'host': '192.168.0.222', + 'user': 'root', + 'password': '1qazse42W3', + 'db': 'ry', + 'charset': 'utf8mb4', +} + +# 数据库B的连接信息 +db_b_config = { + 'host': '192.168.0.222', + '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 = {} + + #查询交易日数据 + sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date > "2022-01-01"' + sql_trade = "trading" + db_a_cursor.execute(sql_trade_qurey,sql_trade) + trading_dates = db_a_cursor.fetchall() + + #查询基础数据 + 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 + stock_basic_map[code] = (code,name,blemind2,blemind3,listdate) + + for row in trading_dates: + trading_date,week,trade = row + print(trading_date) + #查询日交易数据 + 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() + 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()