2016-09-20 3 views
0

mysql csv 덤프를 읽으려고하지만 오류가 계속 발생합니다. 나는 몇 가지 질문을 읽었지만 일할 수 없었다. 파이썬에서파이썬에서 mysql csv 덤프를 읽을 수 없습니다.

SELECT * FROM products INTO OUTFILE 'products.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; 

: MySQL의에서

import csv 
with open('products.csv', 'r') as csvfile: 
    data = csv.reader(csvfile, delimiter=',', quotechar='"') 
    for row in data: 
     print ', '.join(row) 

을 얻은 :

나는 시도

Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

및 시도 :

import csv 
with open('products.csv', 'rU') as csvfile: 
    data = csv.reader(csvfile, delimiter=',', quotechar='"') 
    for row in data: 
     print ', '.join(row) 

는 그것은 일을하지만

및 시도 개행 문자를 포함하는 셀 갈라 :

pandas.read_csv('products.csv') 

을 얻은 :

pandas/parser.pyx in pandas.parser.TextReader.read (pandas/parser.c:7988)()

pandas/parser.pyx in pandas.parser.TextReader._read_low_memory (pandas/parser.c:8244)()

pandas/parser.pyx in pandas.parser.TextReader._read_rows (pandas/parser.c:8970)()

pandas/parser.pyx in pandas.parser.TextReader._tokenize_rows (pandas/parser.c:8838)()

pandas/parser.pyx in pandas.parser.raise_parser_error (pandas/parser.c:22649)()

CParserError: Error tokenizing data. C error: Expected 29 fields in line 25, saw 39

도움말 누구?

+0

mysql의 LOAD DATA 명령을 사용하지 않는 특별한 이유가 있습니까? – e4c5

+0

mysql에서 데이터를 내보내려는 중이므로 – user4421975

+0

을 삽입하지 마십시오. 진흙처럼 명확 해집니다. 왜 직접 파이썬에서 MySQL에 연결하지? 이미 mysql에서 내 보낸 이유는 csv 파일이 있기 때문입니다. – e4c5

답변

0

방금 ​​같은 문제가 발생했습니다. 나는 또한 escapechar을 지정하여 해결했습니다. 예 :

data = csv.reader(csvfile, delimiter=',', quotechar='"', escapechar='\\') 
관련 문제