找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3178|回复: 2

[求助] 导入csv文件出错

1

主题

1

帖子

1

积分

贫民

积分
1
星空 发表于 2017-8-16 15:08:55 | 显示全部楼层 |阅读模式
本帖最后由 星空 于 2017-8-16 15:10 编辑

# encoding: UTF-8

"""loadcsv.py
"""

from vnpy.trader.app.ctaStrategy.ctaBase import MINUTE_DB_NAME
from vnpy.trader.app.ctaStrategy.ctaHistoryData import loadMcCsv


if __name__ == '__main__':
    loadMcCsv('IF0000_1min.csv', MINUTE_DB_NAME, 'IF0000')

---------------------------------------------
ctaHistoryData.py
....
def loadMcCsv(fileName, dbName, symbol):
    """将Multicharts导出的csv格式的历史数据插入到Mongo数据库中"""
    import csv

    start = time()
    print u'开始读取CSV文件%s中的数据插入到%s的%s中' %(fileName, dbName, symbol)

    # 锁定集合,并创建索引
    host, port, logging = loadMongoSetting()

    client = pymongo.MongoClient(host, port)   
    collection = client[dbName][symbol]
    collection.ensure_index([('datetime', pymongo.ASCENDING)], unique=True)   

    # 读取数据和插入到数据库
    reader = csv.DictReader(file(fileName, 'r'))
    for d in reader:
        bar = CtaBarData()
        bar.vtSymbol = symbol
        bar.symbol = symbol
        bar.open = float(d['Open'])
        bar.high = float(d['High'])
        bar.low = float(d['Low'])
        bar.close = float(d['Close'])
        bar.date = datetime.strptime(d['Date'], '%Y-%m-%d').strftime('%Y%m%d')
        bar.time = d['Time']
        bar.datetime = datetime.strptime(bar.date + ' ' + bar.time, '%Y%m%d %H:%M:%S')
        bar.volume = d['TotalVolume']

        flt = {'datetime': bar.datetime}
        collection.update_one(flt, {'$set':bar.__dict__}, upsert=True)  
        print bar.date, bar.time

    print u'插入完毕,耗时:%s' % (time()-start)
.....
开始读取CSV文件IF0000_1min.csv中的数据插入到VnTrader_1Min_Db的IF0000中
Traceback (most recent call last):
  File "C:\Anaconda2\Lib\site-packages\vnpy-1.6.2b0-py2.7.egg\vnpy\examples\CtaBacktesting\loadCsv.py", line 12, in <module>
    loadMcCsv('IF0000_1min.csv', MINUTE_DB_NAME, 'IF0000')
  File "C:\Anaconda2\lib\site-packages\vnpy-1.6.2b0-py2.7.egg\vnpy\trader\app\ctaStrategy\ctaHistoryData.py", line 378, in loadMcCsv
    reader = csv.DictReader(file(fileName, 'r'))
IOError: [Errno 2] No such file or directory: 'IF0000_1min.csv'
运行后出现图片中的错误,请前辈指点下哪里的问题



QQ图片20170816150546.png
回复

使用道具 举报

2

主题

10

帖子

10

积分

贫民

积分
10
blackrose 发表于 2017-8-16 18:06:45 | 显示全部楼层
错误提示你的运行环境路径下没有该文件,用os设置一下路径
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2017-8-16 19:22:03 | 显示全部楼层
没有这个文件, 或者路径错误
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表