import akshare as ak
import json
import pymongo
mongo_client = pymongo.MongoClient('mongodb://localhost:27017/')
# 若没有Database 和Collection,则会自动创建
mongo_db = mongo_client['quant_01']
mongo_collection = mongo_db['finance_report']
def df2bson(df):
"""DataFrame类型转化为Bson类型"""
data = json.loads(df.T.to_json()).values()
return data
# 获取沪 股票信息
stock_sh_a_spot_em_df = ak.stock_sh_a_spot_em()
# 获取深 股票信息
stock_sz_a_spot_em_df = ak.stock_sz_a_spot_em()
# 合并
stock_all_a_spot_em_df = stock_sh_a_spot_em_df.append(stock_sz_a_spot_em_df)
# print(stock_all_a_spot_em_df)
'''
代码 名称 最新价 涨跌幅 涨跌额 成交量 成交额 振幅 最高 最低 今开 昨收 量比 换手率 市盈率-动态 市净率 总市值 流通市值 涨速 5分钟涨跌 60日涨跌幅 年初至今涨跌幅
603057 N紫燕 21.82 44.03 6.67 22934 49828146 24.03 21.82 18.18 18.18 15.15 5.46 38.82 4.71 8989840000 916440000 0 0 44.03 44.03
688663 新风光 43.25 20.01 7.21 106139 437902453 21.5 43.25 35.5 35.66 36.04 2.42 12.28 53.98 5.68 6052837500 3737682300 0 0 32.71 -7.57
688676 金盘科技 32.6 10.4 3.07 62193 198566234 14.53 33.33 29.04 29.04 29.53 2.15 3.26 72.61 5.59 13877820000 6215659081 0.22 0.25 32.68 0.46
'''
# columns 列
# code name Volume', 'amount', 'turnover_rate', 'PE_Dynamic', 'Total_Market_Cap
print(type(stock_all_a_spot_em_df.loc[:, ['代码', '名称', '成交量', '成交额', '换手率', '市盈率-动态', '总市值']])) # 数据结构是Series)
df = stock_all_a_spot_em_df.loc[:, ['代码', '名称', '成交量', '成交额', '换手率', '市盈率-动态', '总市值']]
col_rename = {'代码': 'code', '名称': 'name', '成交量': 'volume', '成交额': 'amount', '换手率': 'turnover_rate',
'市盈率-动态': 'PE_Dynamic', '总市值': 'Total_Market_Cap'}
df_rename = df.rename(columns=col_rename)
# print(df_rename)
df_rename_reIndex = df_rename.reset_index()
print(df_rename_reIndex)
bson_data = df2bson(df_rename_reIndex)
result = mongo_collection.insert_many(bson_data)
print(result)
[048量化交易]python获取股票 量比 换手率 市盈率-动态 市净率 总市值 流通市值写入数据库MongoDB
最新推荐文章于 2023-09-07 11:40:08 发布