rq下载的bar数据转换为dsb
<ol>
<li>
<p><a href="https://pan.baidu.com/s/1DDVhNZamxU-gSUXZyyuP7w?pwd=se0q" title="测试需要的数据下载">测试需要的数据下载</a></p>
</li>
<li>代码如下:</li>
</ol>
<pre><code class="language-python"># -*- coding: utf-8 -*-
import re
import pandas as pd
import time
from wtpy.wrapper import WtDataHelper
from wtpy.WtCoreDefs import WTSBarStruct, WTSTickStruct
from tqdm import tqdm
df=pd.read_hdf('IF889.h5',key='data')
df['money']=df['total_turnover']
df['vol']=df['volume']
df['hold']=df['open_interest']
df['time']=df['datetime'].apply(str)
df['date']=df['datetime'].apply(lambda x:float(str(x)[:8])).astype('int64')
df['time']=df['datetime'].apply(lambda x:float(str(x)[8:12])).astype('int64')
df['time'] = (df['date']-19900000)*10000 + df['time']
count = len(df)
BUFFER = WTSBarStruct * count
buffer = BUFFER()
for index, row in tqdm(df.iterrows()):
curBar = buffer[index]
curBar.date = int(row["date"])
curBar.time = int(row["time"])
curBar.open = float(row["open"])
curBar.high = float(row["high"])
curBar.low = float(row["low"])
curBar.close = float(row["close"])
curBar.vol = float(row["vol"])
curBar.hold = float(row["hold"])
dtHelper = WtDataHelper()
dtHelper.store_bars(barFile='./IF889.dsb',firstBar=buffer,count=len(buffer),period='m1')
dsb_data_read=dtHelper.read_dsb_bars(barFile='./IF889.dsb') # 读取 </code></pre>