数据载入

从文件路径中读取CSV文件,然后在每一次迭代中载入数据到数据库中。

  1. with open(file_path, "rt") as f:
  2. reader = csv.DictReader(f)
  3.  
  4. for item in reader:

载入数据的方法可以分成2类:

  • 直接插入:合约代码、交易所、K线周期、成交量、开盘价、最高价、最低价、收盘价、接口名称

  • 需要处理:日期时间(根据其相应的时间格式,通过strptime()转化成时间元组)、vt_symbol(合约代码.交易所格式,如rb1909.SHFE)

注意:db_bar.replace()用于数据更新,即把旧的数据替换成新的。

  1. db_bar.symbol = symbol
  2. db_bar.exchange = exchange.value
  3. db_bar.datetime = datetime.strptime(
  4. item[datetime_head], datetime_format
  5. )
  6. db_bar.interval = interval.value
  7. db_bar.volume = item[volume_head]
  8. db_bar.open_price = item[open_head]
  9. db_bar.high_price = item[high_head]
  10. db_bar.low_price = item[low_head]
  11. db_bar.close_price = item[close_head]
  12. db_bar.vt_symbol = vt_symbol
  13. db_bar.gateway_name = "DB"
  14.  
  15. db_bar.replace()