def
_shfe_daily(date=''):
url = shfe_url%(date)
try:
js = get_content(url)
js = js.replace(' ', '')
js = json.loads(js)
df = pd.DataFrame(js['o_curinstrument'])
df = df[~(df.DELIVERYMONTH.str.contains(u'小计')) & ~(df.DELIVERYMONTH.str.contains(u'合计'))]
df = df[~df.PRODUCTID.str.contains(u'总计')]
df['TRADE_DATE'] = date
df['TS_CODE'] = df['PRODUCTID']+df['DELIVERYMONTH']+'.SHF'
df['TS_CODE'] = df['TS_CODE'].map(lambda x: x.replace('_f', '').upper())
df['EXCHANGE'] = 'SHFE'
df = df[['TS_CODE', 'TRADE_DATE', 'OPENPRICE', 'HIGHESTPRICE', 'LOWESTPRICE', 'CLOSEPRICE', 'SETTLEMENTPRICE',
'ZD1_CHG', 'ZD2_CHG', 'VOLUME', 'OPENINTEREST', 'OPENINTERESTCHG']]
df.columns = ['TS_CODE', 'TRADE_DATE', 'OPEN', 'HIGH', 'LOW', 'CLOSE', 'SETTLE',
'CHANGE1', 'CHANGE2', 'VOL', 'OI', 'OI_CHG']
df = df.fillna(0)
except Exception as e:
print(e)
else:
for col in ['OPEN', 'LOW', 'CLOSE', 'SETTLE', 'VOL', 'CHANGE1', 'CHANGE2', 'OI', 'OI_CHG']:
df[col] = df[col].astype(float)
return df