팬더로 작업하는 것보다 빠른 방법 일 수 있으므로 을 CSV 데이터 처리에 사용하기로 결정했으나 제대로 작동하지 않습니다.Python 및 odo 모듈을 사용하여 mysql에서 csv를로드 할 때 오류가 발생했습니다.
이것은 MySQL 데이터베이스에 30 기가 바이트 csv 파일 마이그레이션에 대한 자신의 문서입니다 : 내 OS X 엘 캐피 내 로컬 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
그러나 그것은 나에게 다음과 같은 오류를 제공합니다 :
처음에는/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)")
그 밖의 무엇을 확인할 수 있습니까?
파일 시스템 수준 사용 권한. 오류 13은 파일 시스템 수준의 문제를 나타냅니다. csv 파일 자체에 대한 액세스 권한이 없을 수도 있습니다. – Shadow
글쎄, 내가 접근 할 수 있다는 것을 안다. 게시물에서 말한 것처럼 odo는 실제로 csv에있는 열 이름이있는 테이블을 만듭니다. 문제는 MySQL이 해당 파일에 액세스 할 수 없다는 것입니다. 그러나 이미 777에 대한 사용 권한을 변경했으며 부모 폴더는 최소한 "읽기"권한을가집니다. – estemendoza