我得到这个错误:
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()
问题来源StackOverflow 地址:/questions/59387001/mysql-command-in-python-yields-syntaxerror-eol-while-scanning-string-literal
在双引号中使用双引号括起字符串文字时,应该使用反斜杠转义双引号:
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';'''
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。