fix: 修改为main启动,增加函数封装

master
laixingyu 3 years ago
parent 6d424908fa
commit 7a9c0c8e4e

@ -21,340 +21,383 @@
from decimal import Decimal from decimal import Decimal
import pymysql import pymysql
# #数据库A的连接信息NAS数据库 def getTradingDates(dbconfig,dbcursor,state,date):
# db_a_config = { # 1日 5日 10日 20日 30日周期日期
# 'host': '192.168.0.222', period_trading_dateMap = {} # 用于计算成交额
# 'user': 'root', period_trading_dateMap2 = {} # 用于计算区间涨跌数量等,区间涨跌等需要查询个股
# 'password': '1qazse42W3', # 获取周期
# 'db': 'ry', sql_trade_period_qurey = 'select date,week,trade from trade_dates where trade = %s and date < %s order by date desc limit 30'
# 'charset': 'utf8mb4', sql_trade_period = state
# } dbcursor.execute(sql_trade_period_qurey,(sql_trade_period,date))
trading_period_dates = dbcursor.fetchall()
#前一个交易日
prevTradeDate = ''
periodIndex = 0
period_trading_dateMap
for ttrading_date in trading_period_dates:
if periodIndex == 0:
period_trading_dateMap['1']=ttrading_date[0]
elif periodIndex == 1:
prevTradeDate = ttrading_date[0]
elif periodIndex == 4:
period_trading_dateMap['5']=ttrading_date[0]
elif periodIndex == 5:
period_trading_dateMap2['5'] = ttrading_date[0]
elif periodIndex == 9:
period_trading_dateMap['10'] = ttrading_date[0]
elif periodIndex == 10:
period_trading_dateMap2['10'] = ttrading_date[0]
elif periodIndex == 19:
period_trading_dateMap['20'] = ttrading_date[0]
elif periodIndex == 20:
period_trading_dateMap2['20'] = ttrading_date[0]
elif periodIndex == 29:
period_trading_dateMap['30'] =ttrading_date[0]
elif periodIndex == 30:
period_trading_dateMap2['30'] = ttrading_date[0]
elif periodIndex > 30:
break
periodIndex += 1
return period_trading_dateMap
def main():
# #数据库A的连接信息NAS数据库
# db_a_config = {
# 'host': '192.168.0.222',
# 'user': 'root',
# 'password': '1qazse42W3',
# 'db': 'ry',
# 'charset': 'utf8mb4',
# }
# # 数据库B的连接信息NAS数据库 # # 数据库B的连接信息NAS数据库
# db_b_config = { # db_b_config = {
# 'host': '192.168.0.222', # 'host': '192.168.0.222',
# 'user': 'root', # 'user': 'root',
# 'password': '1qazse42W3', # 'password': '1qazse42W3',
# 'db': 'mojin', # 'db': 'mojin',
# 'charset': 'utf8mb4', # 'charset': 'utf8mb4',
# } # }
# 数据库A的连接信息腾讯云数据库 # 数据库A的连接信息腾讯云数据库
db_a_config = { db_a_config = {
'host': '124.223.98.178', 'host': '124.223.98.178',
'user': 'root', 'user': 'root',
'password': '1qazse42W3', 'password': '1qazse42W3',
'db': 'ry', 'db': 'ry',
'charset': 'utf8mb4', 'charset': 'utf8mb4',
} }
# 数据库B的连接信息腾讯云数据库 # 数据库B的连接信息腾讯云数据库
db_b_config = { db_b_config = {
'host': '124.223.98.178', 'host': '124.223.98.178',
'user': 'root', 'user': 'root',
'password': '1qazse42W3', 'password': '1qazse42W3',
'db': 'mojin', 'db': 'mojin',
'charset': 'utf8mb4', 'charset': 'utf8mb4',
} }
try:
# 连接数据库A
db_a_conn = pymysql.connect(**db_a_config)
db_a_cursor = db_a_conn.cursor()
try: # 连接数据库B
# 连接数据库A db_b_conn = pymysql.connect(**db_b_config)
db_a_conn = pymysql.connect(**db_a_config) db_b_cursor = db_b_conn.cursor()
db_a_cursor = db_a_conn.cursor()
# 连接数据库B stock_basic_map = {}
db_b_conn = pymysql.connect(**db_b_config)
db_b_cursor = db_b_conn.cursor()
stock_basic_map = {} #转换数据的日期(单日)
trans_date = '2023-07-20'
#转换数据的日期(单日) #查询交易日数据
trans_date = '2023-07-20' 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()
#查询交易日数据 # 查询交易日期 - 交易日的指数数据 - 计算周期数据 - 转存
sql_trade_qurey = 'select date,week,trade from trade_dates where trade = %s and date = %s' queryType = ['1','5','10','20','30'] #查询类型
sql_trade = "trading" testRet = 0
db_a_cursor.execute(sql_trade_qurey,(sql_trade,trans_date)) for row in trading_dates:
trading_dates = db_a_cursor.fetchall() # 1日 5日 10日 20日 30日周期日期
period_trading_dateMap = {} # 用于计算成交额
period_trading_dateMap = getTradingDates(db_a_conn,db_a_cursor,sql_trade,trans_date)
period_trading_dateMap2 = {} # 用于计算区间涨跌数量等,区间涨跌等需要查询个股
trading_date,week,trade = row
# 获取周期
sql_trade_period_qurey = 'select date,week,trade from trade_dates where trade = %s and date < %s order by date desc limit 30'
sql_trade_period = "trading"
db_a_cursor.execute(sql_trade_period_qurey,(sql_trade_period,trading_date))
trading_period_dates = db_a_cursor.fetchall()
#前一个交易日
prevTradeDate = ''
periodIndex = 0
for ttrading_date in trading_period_dates:
if periodIndex == 0:
period_trading_dateMap['1']=ttrading_date[0]
elif periodIndex == 1:
prevTradeDate = ttrading_date[0]
elif periodIndex == 4:
period_trading_dateMap['5']=ttrading_date[0]
elif periodIndex == 5:
period_trading_dateMap2['5'] = ttrading_date[0]
elif periodIndex == 9:
period_trading_dateMap['10'] = ttrading_date[0]
elif periodIndex == 10:
period_trading_dateMap2['10'] = ttrading_date[0]
elif periodIndex == 19:
period_trading_dateMap['20'] = ttrading_date[0]
elif periodIndex == 20:
period_trading_dateMap2['20'] = ttrading_date[0]
elif periodIndex == 29:
period_trading_dateMap['30'] =ttrading_date[0]
elif periodIndex == 30:
period_trading_dateMap2['30'] = ttrading_date[0]
elif periodIndex > 30:
break
periodIndex += 1
# 查询交易日期 - 交易日的指数数据 - 计算周期数据 - 转存 print('start transfer statistics ',trading_date , ' data.')
queryType = ['1','5','10','20','30'] #查询类型 totalTunrover = Decimal('0.00')
testRet = 0 #查询日交易的所有成交额,用于计算占比等
for row in trading_dates: sql_stock_query = 'select code,sum(amount) as turnover from stock_index where trade_day = %s '
# 1日 5日 10日 20日 30日周期日期 db_a_cursor.execute(sql_stock_query,trading_date)
period_trading_dateMap = {} # 用于计算成交额 datas = db_a_cursor.fetchall()
period_trading_dateMap2 = {} # 用于计算区间涨跌数量等,区间涨跌等需要查询个股 for total in datas:
trading_date,week,trade = row code , totalTunrover = total
# 获取周期 #查询日交易数据 以成交额进行排序
sql_trade_period_qurey = 'select date,week,trade from trade_dates where trade = %s and date < %s order by date desc limit 30' 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 order by volume DESC'
sql_trade_period = "trading" db_a_cursor.execute(sql_stock_query,trading_date)
db_a_cursor.execute(sql_trade_period_qurey,(sql_trade_period,trading_date)) datas = db_a_cursor.fetchall()
trading_period_dates = db_a_cursor.fetchall() sortIndex = 1
#前一个交易日
prevTradeDate = ''
periodIndex = 0
for ttrading_date in trading_period_dates:
if periodIndex == 0:
period_trading_dateMap['1']=ttrading_date[0]
elif periodIndex == 1:
prevTradeDate = ttrading_date[0]
elif periodIndex == 4:
period_trading_dateMap['5']=ttrading_date[0]
elif periodIndex == 5:
period_trading_dateMap2['5'] = ttrading_date[0]
elif periodIndex == 9:
period_trading_dateMap['10'] = ttrading_date[0]
elif periodIndex == 10:
period_trading_dateMap2['10'] = ttrading_date[0]
elif periodIndex == 19:
period_trading_dateMap['20'] = ttrading_date[0]
elif periodIndex == 20:
period_trading_dateMap2['20'] = ttrading_date[0]
elif periodIndex == 29:
period_trading_dateMap['30'] =ttrading_date[0]
elif periodIndex == 30:
period_trading_dateMap2['30'] = ttrading_date[0]
elif periodIndex > 30:
break
periodIndex += 1
print('start transfer statistics ',trading_date , ' data.') industries_tradeDaymap = {}
totalTunrover = Decimal('0.00')
#查询日交易的所有成交额,用于计算占比等 #遍历交易日数据
sql_stock_query = 'select code,sum(amount) as turnover from stock_index where trade_day = %s ' for stock_index_data in datas:
db_a_cursor.execute(sql_stock_query,trading_date) 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
datas = db_a_cursor.fetchall() business_date = trading_date
for total in datas: security_code = code
code , totalTunrover = total security_name = name
#查询日交易数据 以成交额进行排序 turnover = amount
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 order by volume DESC' turnover_sort = sortIndex
db_a_cursor.execute(sql_stock_query,trading_date) turnover_change = '' #todo 从交易数据中获取然后计算 ,一日、多日
datas = db_a_cursor.fetchall() sortIndex +=1
sortIndex = 1 rise_number = risenum
flat_number = flatnum
# print(type(turnover),type(totalTunrover),type(turnover*Decimal('100.00')))
ratio = (turnover*Decimal('100.00') )/ totalTunrover
turnover_ratio = ratio
turnover_ratio_change = '' #todo 从
turnover_sort_change = ''#todo
# industries_tradeDaymap[code] = {business_date,security_code,turnover_sort,rise_number,flat_number}
industries_tradeDaymap[code] = {'business_date':business_date,'security_code':security_code,'turnover':turnover,'turnover_change':turnover_change,'turnover_sort':turnover_sort,'rise_number':rise_number,
'turnover_sort_change':turnover_sort_change,'turnover_ratio':turnover_ratio,'turnover_ratio_change':turnover_ratio_change,'flat_number':flat_number}
# 总成交额
# totalTunrover += turnover
industries_tradeDaymap = {} # turnover_change = '' #todo
# turnover_ratio_change = '' #todo
#遍历交易日数据 # turnover_sort_change = ''#todo
for stock_index_data in datas: turnover5 = '' #todo
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 turnover5_change = '' #todo
business_date = trading_date turnover5_ratio = '' #todo
security_code = code turnover5_ratio_change = '' #todo
security_name = name turnover5_sort = '' #todo
turnover = amount turnover5_sort_change = ''#todo
turnover_sort = sortIndex turnover10 = '' #todo
turnover_change = '' #todo turnover10_change = '' #todo
sortIndex +=1 turnover10_ratio = '' #todo
rise_number = risenum turnover10_ratio_change = '' #todo
flat_number = flatnum turnover10_sort = '' #todo
# print(type(turnover),type(totalTunrover),type(turnover*Decimal('100.00'))) turnover10_sort_change = ''#todo
ratio = (turnover*Decimal('100.00') )/ totalTunrover turnover20 = '' #todo
turnover_ratio = ratio turnover20_change = '' #todo
turnover_ratio_change = '' #todo turnover20_ratio = '' #todo
turnover_sort_change = ''#todo turnover20_ratio_change = '' #todo
# industries_tradeDaymap[code] = {business_date,security_code,turnover_sort,rise_number,flat_number} turnover20_sort = '' #todo
industries_tradeDaymap[code] = {'business_date':business_date,'security_code':security_code,'turnover':turnover,'turnover_change':turnover_change,'turnover_sort':turnover_sort,'rise_number':rise_number, turnover20_sort_change = ''#todo
'turnover_sort_change':turnover_sort_change,'turnover_ratio':turnover_ratio,'turnover_ratio_change':turnover_ratio_change,'flat_number':flat_number} turnover30 = '' #todo
# 总成交额 turnover30_change = '' #todo
# totalTunrover += turnover turnover30_ratio = '' #todo
turnover30_ratio_change = '' #todo
turnover30_sort = '' #todo
turnover30_sort_change = ''#todo
rise_number_change = ''#todo
losses_number = fallnum
losses_number_change = '' #todo
flat_number_change = '' #todo
rise5_number = '' #todo
rise5_number_change = ''#todo
losses5_number = '' #todo
losses5_number_change = '' #todo
flat5_number = '' #todo
flat5_number_change = '' #todo
rise10_number = '' #todo
rise10_number_change = ''#todo
losses10_number = '' #todo
losses10_number_change = '' #todo
flat10_number = '' #todo
flat10_number_change = '' #todo
rise20_number = '' #todo
rise20_number_change = ''#todo
losses20_number = '' #todo
losses20_number_change = '' #todo
flat20_number = '' #todo
flat20_number_change = '' #todo
rise30_number = '' #todo
rise30_number_change = ''#todo
losses30_number = '' #todo
losses30_number_change = '' #todo
flat30_number = '' #todo
flat30_number_change = '' #todo
# 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))
prevTotalTunrover = Decimal('0.00')
sql_stock_query = 'select code,sum(amount) as turnover from stock_index where trade_day = %s '
db_a_cursor.execute(sql_stock_query,prevTradeDate)
datas = db_a_cursor.fetchall()
for total in datas:
code,prevTotalTunrover = total
#遍历前一日或多日交易数据获取成交量计算变化再从dong_cai_secondary_industry_statistics获取及排名数据获取变化值; 如果没有,当前值就是最新的值
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 order by volume DESC'
db_a_cursor.execute(sql_stock_query,prevTradeDate)
datas = db_a_cursor.fetchall()
industries_prevTradeDaymap = {}
for stock_index_data in datas:
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 = stock_index_data
business_date = trading_date
security_code = code
security_name = name
turnover = amount
turnover_sort = sortIndex
sortIndex +=1
rise_number = risenum
flat_number = flatnum
# turnover_change = '' #todo ratio = (turnover*Decimal('100')) / prevTotalTunrover
# turnover_ratio_change = '' #todo turnover_ratio = ratio
# turnover_sort_change = ''#todo # industries_tradeDaymap[code] = {business_date,security_code,turnover_sort,rise_number,flat_number}
turnover5 = '' #todo industries_prevTradeDaymap[code] = {'business_date':business_date,'security_code':security_code,'turnover':turnover,'turnover_sort':turnover_sort,'rise_number':rise_number,
turnover5_change = '' #todo 'turnover_ratio':turnover_ratio,'flat_number':flat_number}
turnover5_ratio = '' #todo industries_tradeDaymap[code]['turnover_change'] = industries_tradeDaymap[code]['turnover'] - turnover
turnover5_ratio_change = '' #todo # industries_tradeDaymap[code]['turnover_sort_change'] = industries_tradeDaymap[code]['turnover_sort'] - turnover_sort
turnover5_sort = '' #todo
turnover5_sort_change = ''#todo
turnover10 = '' #todo
turnover10_change = '' #todo
turnover10_ratio = '' #todo
turnover10_ratio_change = '' #todo
turnover10_sort = '' #todo
turnover10_sort_change = ''#todo
turnover20 = '' #todo
turnover20_change = '' #todo
turnover20_ratio = '' #todo
turnover20_ratio_change = '' #todo
turnover20_sort = '' #todo
turnover20_sort_change = ''#todo
turnover30 = '' #todo
turnover30_change = '' #todo
turnover30_ratio = '' #todo
turnover30_ratio_change = '' #todo
turnover30_sort = '' #todo
turnover30_sort_change = ''#todo
rise_number_change = ''#todo
losses_number = fallnum
losses_number_change = '' #todo
flat_number_change = '' #todo
rise5_number = '' #todo
rise5_number_change = ''#todo
losses5_number = '' #todo
losses5_number_change = '' #todo
flat5_number = '' #todo
flat5_number_change = '' #todo
rise10_number = '' #todo
rise10_number_change = ''#todo
losses10_number = '' #todo
losses10_number_change = '' #todo
flat10_number = '' #todo
flat10_number_change = '' #todo
rise20_number = '' #todo
rise20_number_change = ''#todo
losses20_number = '' #todo
losses20_number_change = '' #todo
flat20_number = '' #todo
flat20_number_change = '' #todo
rise30_number = '' #todo
rise30_number_change = ''#todo
losses30_number = '' #todo
losses30_number_change = '' #todo
flat30_number = '' #todo
flat30_number_change = '' #todo
# 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))
prevTotalTunrover = Decimal('0.00')
sql_stock_query = 'select code,sum(amount) as turnover from stock_index where trade_day = %s '
db_a_cursor.execute(sql_stock_query,prevTradeDate)
datas = db_a_cursor.fetchall()
for total in datas:
code,prevTotalTunrover = total
#遍历前一日交易数据,及排名数据,获取变化值 print(industries_tradeDaymap)
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 order by volume DESC'
db_a_cursor.execute(sql_stock_query,prevTradeDate)
datas = db_a_cursor.fetchall()
industries_prevTradeDaymap = {}
for stock_index_data in datas:
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 = stock_index_data
business_date = trading_date
security_code = code
security_name = name
turnover = amount
turnover_sort = sortIndex
sortIndex +=1
rise_number = risenum
flat_number = flatnum
ratio = (turnover*Decimal('100')) / prevTotalTunrover #提交数据到数据库B中
turnover_ratio = ratio db_b_conn.commit()
# industries_tradeDaymap[code] = {business_date,security_code,turnover_sort,rise_number,flat_number} print('successed transfer ',trading_date , ' data.' )
industries_prevTradeDaymap[code] = {'business_date':business_date,'security_code':security_code,'turnover':turnover,'turnover_sort':turnover_sort,'rise_number':rise_number, print('\r\n')
'turnover_ratio':turnover_ratio,'flat_number':flat_number} ####dong_cai_secondary_industry_statistics
industries_tradeDaymap[code]['turnover_change'] = industries_tradeDaymap[code]['turnover'] - turnover # `id` bigint(0) NOT NULL AUTO_INCREMENT,
industries_tradeDaymap[code]['turnover_sort_change'] = industries_tradeDaymap[code]['turnover_sort'] - turnover_sort # `business_date` date NOT NULL COMMENT '业务日期',
# `security_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券代码',
print(industries_tradeDaymap) # `security_name` 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 '成交额(百万元)',
# `turnover_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额变化(百万元)',
# `turnover_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额占比',
# `turnover_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额占比变化',
# `turnover_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额排名',
# `turnover_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额排名变化',
# `turnover5` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额(百万元)',
# `turnover5_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额变化(百万元)',
# `turnover5_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额占比',
# `turnover5_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额占比变化',
# `turnover5_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额排名',
# `turnover5_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额排名变化',
# `turnover10` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额(百万元)',
# `turnover10_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额变化(百万元)',
# `turnover10_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额占比',
# `turnover10_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额占比变化',
# `turnover10_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额排名',
# `turnover10_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额排名变化',
# `turnover20` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额(百万元)',
# `turnover20_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额变化(百万元)',
# `turnover20_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额占比',
# `turnover20_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额占比变化',
# `turnover20_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额排名',
# `turnover20_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额排名变化',
# `turnover30` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额(百万元)',
# `turnover30_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额变化(百万元)',
# `turnover30_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额占比',
# `turnover30_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额占比变化',
# `turnover30_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额排名',
# `turnover30_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额排名变化',
# `rise_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上涨家数',
# `rise_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上涨家数变化',
# `losses_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下跌家数',
# `losses_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下跌家数变化',
# `flat_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '平盘家数',
# `flat_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '平盘家数变化',
# `rise5_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日上涨家数',
# `rise5_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日上涨家数变化',
# `losses5_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日下跌家数',
# `losses5_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日下跌家数变化',
# `flat5_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日平盘家数',
# `flat5_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日平盘家数变化',
# `rise10_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日上涨家数',
# `rise10_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日上涨家数变化',
# `losses10_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日下跌家数',
# `losses10_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日下跌家数变化',
# `flat10_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日平盘家数',
# `flat10_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日平盘家数变化',
# `rise20_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日上涨家数',
# `rise20_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日上涨家数变化',
# `losses20_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日下跌家数',
# `losses20_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日下跌家数变化',
# `flat20_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日平盘家数',
# `flat20_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日平盘家数变化',
# `rise30_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日上涨家数',
# `rise30_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日上涨家数变化',
# `losses30_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日下跌家数',
# `losses30_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日下跌家数变化',
# `flat30_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日平盘家数',
# `flat30_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日平盘家数变化',
# `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
#提交数据到数据库B中 #####
db_b_conn.commit() # print(datas)
print('successed transfer ',trading_date , ' data.' ) # print(stock_basic_map)
print('\r\n') # print(trading_dates)
####dong_cai_secondary_industry_statistics
# `id` bigint(0) NOT NULL AUTO_INCREMENT, # 查询数据库A中的数据表a1和a2的数据并进行关联
# `business_date` date NOT NULL COMMENT '业务日期', #db_a_cursor.execute('SELECT a1.id, a1.date, a1.user, a2.userName, a2.count FROM a1 JOIN a2 ON a1.id = a2.id')
# `security_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '证券代码', #data_to_transfer = db_a_cursor.fetchall()
# `security_name` 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 '成交额(百万元)',
# `turnover_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额变化(百万元)',
# `turnover_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额占比',
# `turnover_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额占比变化',
# `turnover_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额排名',
# `turnover_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '成交额排名变化',
# `turnover5` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额(百万元)',
# `turnover5_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额变化(百万元)',
# `turnover5_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额占比',
# `turnover5_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额占比变化',
# `turnover5_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额排名',
# `turnover5_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日成交额排名变化',
# `turnover10` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额(百万元)',
# `turnover10_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额变化(百万元)',
# `turnover10_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额占比',
# `turnover10_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额占比变化',
# `turnover10_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额排名',
# `turnover10_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日成交额排名变化',
# `turnover20` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额(百万元)',
# `turnover20_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额变化(百万元)',
# `turnover20_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额占比',
# `turnover20_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额占比变化',
# `turnover20_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额排名',
# `turnover20_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日成交额排名变化',
# `turnover30` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额(百万元)',
# `turnover30_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额变化(百万元)',
# `turnover30_ratio` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额占比',
# `turnover30_ratio_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额占比变化',
# `turnover30_sort` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额排名',
# `turnover30_sort_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日成交额排名变化',
# `rise_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上涨家数',
# `rise_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上涨家数变化',
# `losses_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下跌家数',
# `losses_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下跌家数变化',
# `flat_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '平盘家数',
# `flat_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '平盘家数变化',
# `rise5_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日上涨家数',
# `rise5_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日上涨家数变化',
# `losses5_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日下跌家数',
# `losses5_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日下跌家数变化',
# `flat5_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日平盘家数',
# `flat5_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '5日平盘家数变化',
# `rise10_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日上涨家数',
# `rise10_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日上涨家数变化',
# `losses10_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日下跌家数',
# `losses10_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日下跌家数变化',
# `flat10_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日平盘家数',
# `flat10_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '10日平盘家数变化',
# `rise20_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日上涨家数',
# `rise20_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日上涨家数变化',
# `losses20_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日下跌家数',
# `losses20_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日下跌家数变化',
# `flat20_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日平盘家数',
# `flat20_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '20日平盘家数变化',
# `rise30_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日上涨家数',
# `rise30_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日上涨家数变化',
# `losses30_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日下跌家数',
# `losses30_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日下跌家数变化',
# `flat30_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日平盘家数',
# `flat30_number_change` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '30日平盘家数变化',
# `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
##### # 删除数据库B中表c的数据可选如果需要覆盖表c的数据
# print(datas) # db_b_cursor.execute('DELETE FROM c')
# 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的数据 # 插入数据到数据库B中的表c中
# db_b_cursor.execute('DELETE FROM 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中的表c中 # 提交数据到数据库B中
# for row in data_to_transfer: # db_b_conn.commit()
# 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中 print("数据传输完成!")
# db_b_conn.commit()
print("数据传输完成!") except Exception as e:
print(f"出现错误:{e}")
except Exception as e: finally:
print(f"出现错误:{e}") # 关闭连接
if db_a_cursor:
db_a_cursor.close()
if db_a_conn:
db_a_conn.close()
finally: if db_b_cursor:
# 关闭连接 db_b_cursor.close()
if db_a_cursor: if db_b_conn:
db_a_cursor.close() db_b_conn.close()
if db_a_conn:
db_a_conn.close() if __name__ == "__main__":
main()
if db_b_cursor:
db_b_cursor.close()
if db_b_conn:
db_b_conn.close()

Loading…
Cancel
Save