Я пытаюсь прочитать дамп mysql csv, но продолжаю получать ошибки. Я видел некоторые вопросы, но не мог работать.Python не умеет читать mysql csv dump
в MySQL:
SELECT * FROM products INTO OUTFILE 'products.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
в Python:
Я пробовал:
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
Помощь кто-нибудь?
Любая конкретная причина не использовать команду LOAD DATA от mysql? – e4c5
Я пытаюсь экспортировать данные из mysql, а не вставлять его – user4421975
, что делает вещи ясными как грязь. Почему бы не напрямую подключиться к mysql из python? Вы уже экспортировали из mysql, поэтому у вас есть файл csv – e4c5