@ -35,24 +35,111 @@ try:
db_a_cursor . execute ( sql_trade_qurey , sql_trade )
trading_dates = db_a_cursor . fetchall ( )
#查询东财基础数据
industries_map = { }
sql_stockindustry = " select code,name from stock_index where trade_day = ' 2022-07-01 ' "
db_a_cursor . execute ( sql_stockindustry )
industries = db_a_cursor . fetchall ( )
for industry in industries :
code , name = industry
industries_map [ name ] = ( code , name )
#查询基础数据
sql_stockbasic = " select code,name,blemind2,blemind3,listdate from stock_basis "
db_a_cursor . execute ( sql_stockbasic )
stock_basic_datas = db_a_cursor . fetchall ( )
for row in stock_basic_datas :
code , name , blemind2 , blemind3 , listdate = row
stock_basic_map [ code ] = ( code , name , blemind2 , blemind3 , listdate )
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 ( trading_date )
print ( ' start transfer ' , trading_date , ' data. ' )
#查询日交易数据
sql_stock_query = ' select code ,trade_day, open,close,high,low,islimit,isdrop,differrange,trade_days,volumn,amount,differrange10,differrange20,differrange60,avg_volume20,freefloat_market_value,total_market_value,agencies_hold from stocks where trade_day = %s '
sql_stock_query = ' select code ,trade_day, open,close,high,low,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 )
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')