gpt4 book ai didi

python - 在 Python 2.7 中运行 MySQL 将 CSV 加载到 MySQL -

转载 作者:行者123 更新时间:2023-11-29 22:19:09 25 4
gpt4 key购买 nike

我正在尝试使用 python 2.7 中的 MySQLdb 模块将 csv 表上传到 MySQl 表中。

import MySQLdb

connection = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")

cursor = connection.cursor()
query = '''USE test; DELETE FROM test2; LOAD DATA LOCAL INFILE "C:/data/data.csv" INTO TABLE test2 COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;'''
cursor.execute(query)

connection.close()

我已经在 phpmyadmin 上尝试过查询,它通过了,它允许我传输所有行(不包括顶行,它们只是列名),但是当我尝试在 python 2.7 中运行查询时,我收到多个错误消息。

错误1:

Syntax error: Invalid Syntax pointing to the ENCLOSED BY section.

当我在查询周围添加 3 个单引号时,我收到一条错误消息”

错误2:

Exception _mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL s erver during query') in (bound method Cursor__del__ of MySQLdb.cursors.Cursor object at 0x0233AAF0) ignored

我不知道该怎么办。我花了一天的大部分时间进行研究,并尝试了不同的变化,但我一无所获。您的帮助将不胜感激。

最佳答案

对于错误 2,您不应将所有查询放在单个字符串中,而应尝试将它们拆分为多个查询并单独运行。像这样 -

query1 = '''DELETE FROM test2;'''
cursor.execute(query1)
query2 = '''LOAD DATA LOCAL INFILE "C:/data/data.csv" INTO TABLE test2 COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;'''
cursor.execute(query2)

我认为您不需要执行use test,因为创建连接时已经使用了它。

关于python - 在 Python 2.7 中运行 MySQL 将 CSV 加载到 MySQL -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30920438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com