我试图读取mysql csv转储,但一直收到错误。我看到了一些问题,但无法正常工作。
在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)
得到了:
错误:在未加引号的字段中看到的换行符 - 您需要打开吗? 通用换行模式下的文件?
并尝试:
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.TextReader.read中的pandas / parser.pyx (熊猫/ parser.c:7988)()
pandas.parser.TextReader._read_low_memory中的pandas / parser.pyx (熊猫/ parser.c:8244)()
pandas.parser.TextReader._read_rows中的pandas / parser.pyx (熊猫/ parser.c:8970)()
pandas.parser.TextReader._tokenize_rows中的pandas / parser.pyx (熊猫/ parser.c:8838)()
pandas.parser.raise_parser_error中的pandas / parser.pyx (熊猫/ parser.c:22649)()
CParserError:标记数据时出错。 C错误:预计有29个字段 第25行,看到39
帮助任何人?
答案 0 :(得分:1)
我遇到了同样的问题。我通过指定escapechar来解决它,例如:
data = csv.reader(csvfile, delimiter=',', quotechar='"', escapechar='\\')