简体   繁体   English

Python无法读取mysql csv dump

[英]Python can't read mysql csv dump

I'm trying to read a mysql csv dump but keep getting errors. 我正在尝试读取mysql csv转储,但不断出现错误。 I saw read some questions but couldn't get working. 我看到阅读了一些问题,但无法正常工作。

in mysql: 在mysql中:

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

in Python: 在Python中:

I tried: 我试过了:

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

and got: 并得到:

Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode? 错误:在未加引号的字段中出现换行符-您是否需要在通用换行模式下打开文件?

and tried: 并尝试:

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

and it worked but it splitted cells containing a newline 它可以工作,但它拆分了包含换行符的单元格

and tried: 并尝试:

pandas.read_csv('products.csv')

and got: 并得到:

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

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

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

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

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

CParserError: Error tokenizing data. CParserError:标记数据时出错。 C error: Expected 29 fields in line 25, saw 39 C错误:第25行中应有29个字段,看到39

Help anyone? 帮助任何人?

I just ran into the same problem. 我只是遇到了同样的问题。 I solved it by also specifying escapechar, eg: 我也通过指定escapechar来解决它,例如:

data = csv.reader(csvfile, delimiter=',', quotechar='"', escapechar='\\')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM