我想读取一个mysql csv转储但不断收到错误。我看到读了一些问题,但无法工作。Python不能读取csv转储
SELECT * FROM products INTO OUTFILE 'products.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
在Python
:
在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
帮助的人?
任何特定的原因不使用mysql的LOAD DATA命令? – e4c5
我想从mysql中导出数据,而不是将其插入 – user4421975
,它使事情变得清晰。为什么不直接从python连接到mysql? YOu已经从mysql中导出,这就是为什么你有一个CSV文件 – e4c5