pymysql无法访问本地计算机,使用Python和odo模块在mysql上加载csv时出错

我决定尝试使用odo来处理我的csv数据,因为据说它比使用pandas更快,但我不能让它工作。

这是他们关于将30gb csv文件迁移到MySQL数据库的文档:

In [1]: %time t = odo('all.csv', 'mysql+pymysql://localhost/test::nyc')

CPU times: user 1.32 s, sys: 304 ms, total: 1.63 s

Wall time: 20min 49s

我在OS X El Capitan上的本地MySQL实例中尝试过相同的操作,但是它给了我以下错误:

/Library/Python/2.7/site-packages/PyMySQL-0.7.1-py2.7.egg/pymysql/err.pyc in _check_mysql_exception(errinfo)

113

114 # couldn't find the right error number

--> 115 raise InternalError(errno, errorvalue)

116

117

InternalError: (pymysql.err.InternalError) (13, u"Can't get stat of '/path/to/test.csv' (Errcode: 13 - Permission denied)") [SQL: u'LOAD DATA INFILE %(path)s\n INTO TABLE test_file2\n CHARACTER SET %(encoding)s\n FIELDS\n TERMINATED BY %(delimiter)s\n ENCLOSED BY %(quotechar)s\n ESCAPED BY %(escapechar)s\n LINES TERMINATED BY %(lineterminator)s\n IGNORE %(skiprows)s LINES\n '] [parameters: {'escapechar': '\\', 'encoding': 'utf8', 'skiprows': 1, 'delimiter': ',', 'lineterminator': u'\n', 'quotechar': '"', 'path': '/path/to/test.csv'}]

起初,我认为这是文件权限的错误,但后来我发现该表已成功创建且具有正确的列名,因此odo能够访问该文件。所以,我真的不理解错误(13, u"Can't get stat of '/path/to/test.csv' (Errcode: 13 - Permission denied)")

我还能检查什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值