python - python 中的 Mysql 命令产生 : SyntaxError: EOL while scanning string literal

标签 python mysql python-3.x

我收到此错误:

SyntaxError: EOL while scanning string literal

在尝试将超过 2000 万行的 CSV 文件推送到 MySQL 服务器时,使用以下 python 代码:

cur = connection.cursor()

query = "LOAD DATA LOCAL INFILE 'path to csv file' INTO TABLE table.name FIELDS OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';"

cur.execute( query )

connection.commit()

最佳答案

当您将带有双引号的字符串文字括在双引号中时,您应该使用反斜杠转义双引号:

query = "LOAD DATA LOCAL INFILE 'path to csv file' INTO TABLE table.name FIELDS OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n';"

或将字符串文字括在三引号中:

query = '''LOAD DATA LOCAL INFILE 'path to csv file' INTO TABLE table.name FIELDS OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';'''

关于python - python 中的 Mysql 命令产生 : SyntaxError: EOL while scanning string literal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59387001/

相关文章:

php - 无效的 PDO MySQL 语句 - 语法错误

python - 使用 python 从文本文件中删除两个重复项(原始和重复项)

Python 3、easy_install、pip 和 pypi

python - 使用 curve_fit 拟合梯形

mysql - 如何在忽略数据库中列的默认值的情况下发布表单数据

python - docker内部boto的奇怪行为

MYSQL - 查询某个字符串的长度

python - Django - 提交联系表单时出现 405 错误

python - 如何在 MultiIndex pandas DataFrame 中设置索引值?

python - 如何在python3中将一个简单的整数矩阵作为输入