Merge pull request #1981 from 1122455801/csv_loader.md__0731

Update Csv loader
This commit is contained in:
vn.py 2019-08-01 09:28:15 +08:00 committed by GitHub
commit e41c133de2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,29 +10,28 @@ CSV载入模块在vnpy根目录下vnpy\app\csv_loader文件夹内engine.py里
- CSV表头信息日期时间、开盘价、最高价、最低价、收盘价、成交量 - CSV表头信息日期时间、开盘价、最高价、最低价、收盘价、成交量
``` ```
self.file_path: str = '' self.file_path: str = ""
self.symbol: str = "" self.symbol: str = ""
self.exchange: Exchange = Exchange.SSE self.exchange: Exchange = Exchange.SSE
self.interval: Interval = Interval.MINUTE self.interval: Interval = Interval.MINUTE
self.datetime_head: str = '' self.datetime_head: str = ""
self.open_head: str = '' self.open_head: str = ""
self.close_head: str = '' self.close_head: str = ""
self.low_head: str = '' self.low_head: str = ""
self.high_head: str = '' self.high_head: str = ""
self.volume_head: str = '' self.volume_head: str = ""
``` ```
以sql数据库为例 以SQL数据库为例把上期所的IF1909的历史数据插入到数据库中那么合约代码应该填写rb1909交易所中填写SHFE在本地数据库中会有symbol和exchange两个键值用于索引。
合约信息中合约代码是将csv中数据存入至何种品种数据库中。例如在合约代码中填写rb1909在交易所中填写SHFE在本地数据库中会有symbol和exchange两个键值用于索引。
在csv中日期时间一列格式需要为str格式。
   
## 数据载入 ## 数据载入
从文件路径中读取CSV文件然后在每一次迭代中载入数据到数据库中。 从文件路径中读取CSV文件然后在每一次迭代中载入数据到数据库中。
``` ```
with open(file_path, 'rt') as f: with open(file_path, "rt") as f:
reader = csv.DictReader(f) reader = csv.DictReader(f)
for item in reader: for item in reader:
@ -42,7 +41,7 @@ CSV载入模块在vnpy根目录下vnpy\app\csv_loader文件夹内engine.py里
载入数据的方法可以分成2类 载入数据的方法可以分成2类
- 直接插入合约代码、交易所、K线周期、成交量、开盘价、最高价、最低价、收盘价、接口名称 - 直接插入合约代码、交易所、K线周期、成交量、开盘价、最高价、最低价、收盘价、接口名称
- 需要处理日期时间根据其相应的时间格式通过strptime()转化成时间元、vt_symbol(合约代码.交易所格式如rb1905.SHFE) - 需要处理日期时间根据其相应的时间格式通过strptime()转化成时间元、vt_symbol(合约代码.交易所格式如rb1909.SHFE)
注意db_bar.replace()用于数据更新,即把旧的数据替换成新的。 注意db_bar.replace()用于数据更新,即把旧的数据替换成新的。
``` ```