我想讀取一個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