
def QhDownQuanZhong(self,QhCode,QhUrl):
# 中证-指数样本权重
# 获取缓存路径,清洗数据格式配置
# 作者:阙辉
QhTongYongJson = QHZZDBJSON
QhFactionKey = "QhZZYangBenQuanZhong"
QhBZcloums = QhTongYongJson[QhFactionKey]["fielddic"] # 结果字段 # 01主要用来获取配置
QhrenameDic = QhTongYongJson[QhFactionKey]["QhrenameDic"] # 唯一值参数获取 # 01主要用来获取配置
QhCsvPathTemp = QhTongYongJson[QhFactionKey]["QhCsvPathTemp"] # 存储路径 # 01主要用来获取配置
QhCsvPathTemp = QhDbPathJieXiIsMkdir(QhCsvPathTemp,QHJSPATH) # 存储路径检查,如果文件夹不存在则创建
QhCsvNameTemp0 = copy.deepcopy(QhTongYongJson[QhFactionKey]["QhCsvNameTemp"]) # 01主要用来获取配置
QhCsvNameTemp= QhCsvNameTemp0.format(QhCode)
QhCsvPathTemp = "{}\{}".format(QhCsvPathTemp,QhCsvNameTemp)
# 请求数据
QhReq = requests.get(QhUrl, headers=self.qh_headers)
# 先缓存下载到本地
with open(QhCsvPathTemp,"wb") as f:
f.write(QhReq.content)
time.sleep(1)
# 读取缓存
QhRedTempExcel = pd.read_excel(QhCsvPathTemp)
# 数据清洗
QhRedTempExcel.rename(columns=QhrenameDic,inplace=True)
for QhRow in QhBZcloums:
if QhRow not in QhRedTempExcel.columns.values:
QhRedTempExcel[QhRow] = ""
if "H指数代码" not in QhBZcloums: QhBZcloums.insert(1,"H指数代码")
# QhRedTempExcel["H指数代码"] = 'H' + QhRedTempExcel["指数代码"].astype(str)
QhRedTempExcel["H指数代码"] = 'H' + str(QhCode)
QhRedTempExcel = QhRedTempExcel[QhBZcloums]
QhRedTempExcel['日期'] = QhRedTempExcel['日期'].astype(str).apply(lambda x: f"{x[:4]}-{x[4:6]}-{x[6:8]}" if len(str(x)) == 8 else x)
print(QhRedTempExcel)
return QhRedTempExcel


