【发布时间】:2016-09-20 11:09:16
【问题描述】:
我正在尝试读取 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.pyx 在 pandas.parser.TextReader.read (pandas/parser.c:7988)()
pandas/parser.pyx 在 pandas.parser.TextReader._read_low_memory (pandas/parser.c:8244)()
pandas/parser.pyx 在 pandas.parser.TextReader._read_rows (pandas/parser.c:8970)()
pandas/parser.pyx 在 pandas.parser.TextReader._tokenize_rows (pandas/parser.c:8838)()
pandas/parser.pyx 在 pandas.parser.raise_parser_error (pandas/parser.c:22649)()
CParserError:标记数据时出错。 C 错误:预期有 29 个字段 第 25 行,看到 39
帮助任何人?
【问题讨论】:
-
有什么理由不使用 mysql 的 LOAD DATA 命令?
-
我正在尝试从mysql中导出数据,而不是插入它
-
这让事情变得像泥巴一样清晰。为什么不直接从python连接mysql?你已经从 mysql 导出,所以你有一个 csv 文件
-
从 csv 文件中粘贴一些原始文本(几行)也会很有帮助。\