同样,下面 Python 程序是用于处理麦蕊数据的,其中包含三个自定义函数:处理 JSON 数据、获取中证指数成分股和获取麦蕊的技术数据。

程序的流程如下:首先在“获取中证指数成分股”函数中输入中证指数代码,然后该函数会返回该指数的成分股代码列表。接着,程序会使用循环来遍历每个成分股,并获取该成分股的麦蕊技术指标数据。最后,程序会对获取的 JSON 数据进行处理,并将其导出为 CSV 文件。

需要注意的是,这段程序使用的是麦蕊数据,因此需要获得相关的许可证才能运行。如果您想要使用这段程序,请确保已经获得了相关的许可证。

代码

1
import akshare as ak import requests import csv import json import pandas as pd licence = '修改成你的licence' # 读取json对象的自定义函数,index=[0],行内拼接 def json_to_index_df(url): """ 读取json对象的自定义函数,使用requests库获取url的json数据,并将其转换成pandas的DataFrame格式 :param url: 传入url地址 :return: 返回DataFrame格式的数据 """ response = requests.get(url) data = response.json() df = pd.DataFrame(data, index=[0]) return df # 获取中证指数成份股代码 def get_component_codes(symbol): """ 获取中证指数成份股代码的函数 :param symbol: 传入指数代码 :return: 返回成份股代码的列表 """ index_stock_cons_csindex = ak.index_stock_cons_csindex(symbol=symbol) codes = index_stock_cons_csindex['成分券代码'] return codes # 用中证指数的成分股去获取json对象的自定义函数包括分时交易kdjmacdma和boll def get_stock_data(symbol): """ 用中证指数的成分股去获取json对象的自定义函数,包括分时交易、kdj、macd、ma和boll :param symbol: 传入指数代码 :return: 返回成份股的交易数据csv文件 """ codes = get_component_codes(symbol) # 调取自定义函数——获取中证指数成份股代码 dfs = [] for code in codes: url_fs = f'http://api.mairui.club/hszb/fsjy/{code}/dq/{licence}' url_kdj = f'http://api.mairui.club/hszb/kdj/{code}/dq/{licence}' url_macd = f'http://api.mairui.club/hszb/macd/{code}/dq/{licence}' url_ma = f'http://api.mairui.club/hszb/ma/{code}/dq/{licence}' url_boll = f'http://api.mairui.club/hszb/boll/{code}/dq/{licence}' df_fs = json_to_index_df(url_fs) df_kdj = json_to_index_df(url_kdj) df_macd = json_to_index_df(url_macd) df_ma = json_to_index_df(url_ma) df_boll = json_to_index_df(url_boll) df = pd.concat([df_fs, df_kdj, df_macd, df_ma, df_boll], axis=1) df.insert(0, '代码', code) dfs.append(df) result = pd.concat(dfs) result.to_csv(f'{symbol}_成分股交易数据.csv', index=False, encoding='utf-8-sig') get_stock_data('000016') #参数为中证指数代码

代码说明

该代码主要是获取中证指数成份股的分时交易、kdj、macd、ma 和 boll 数据,并将其保存为 csv 文件。其中,代码注释清晰明了,方便阅读和理解。主要函数包括三个:

  1. json_to_index_df(url):读取 json 对象的自定义函数,使用 requests 库获取 url 的 json 数据,并将其转换成 pandas 的 DataFrame 格式。

  2. get_component_codes(symbol):获取中证指数成份股代码的函数。

  3. get_stock_data(symbol):用中证指数的成分股去获取 json 对象的自定义函数,包括分时交易、kdj、macd、ma 和 boll,并将结果保存为 csv 文件。

其中,get_stock_data(symbol) 函数中包含一个循环,用于遍历中证指数的所有成份股,并调用 json_to_index_df(url) 函数获取数据,并将其放入列表中。最后,将所有列表中的数据合并为一个 DataFrame,并保存为 csv 文件。

该代码对于有一定编程能力的人来说,可读性较高,易于理解。同时,使用了 pandas 库,对数据进行了处理和分析,能够更好地满足用户需求。