OPTIONALLY ENCLOSED BY '"' 使 \\n 无效
OPTIONALLY ENCLOSED BY '"' makes \\n become invalid
我尝试使用 Python:
将 csv 文件加载到数据库中
SQLCMD = "LOAD DATA INFILE '/Users/v***/MySQLfiles/salaries.csv' \
INTO TABLE salaries.salaries \
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' \
LINES TERMINATED BY '\n' \
IGNORE 1 ROWS"
当我 运行 它时,我在第 4 行得到错误:
SyntaxError: unexpected character after line continuation character
我知道错误与\n
有关,因为它是黑色的(我用的是Jupyter notebook),其他部分都是红色的。
我认为是因为这部分的双引号:
OPTIONALLY ENCLOSED BY '"'
这让 Python 认为整个部分到此结束:
"LOAD DATA INFILE '/Users/v***/MySQLfiles/salaries.csv' \
INTO TABLE salaries.salaries \
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"
但是OPTIONALLY ENCLOSED BY '"'
是必须的,我需要这部分,因为有些列包含逗号。
我该如何解决这个问题?
此问题是由 OPTIONALLY ENCLOSED BY '"'
中的 "
结束 SQLCMD
字符串引起的。您可以通过使用反斜杠转义引号来解决此问题,但使用三重引号引起来的字符串会更容易避免必须完全转义引号:
SQLCMD = """LOAD DATA INFILE '/Users/v***/MySQLfiles/salaries.csv'
INTO TABLE salaries.salaries
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS"""
我尝试使用 Python:
将 csv 文件加载到数据库中SQLCMD = "LOAD DATA INFILE '/Users/v***/MySQLfiles/salaries.csv' \
INTO TABLE salaries.salaries \
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' \
LINES TERMINATED BY '\n' \
IGNORE 1 ROWS"
当我 运行 它时,我在第 4 行得到错误:
SyntaxError: unexpected character after line continuation character
我知道错误与\n
有关,因为它是黑色的(我用的是Jupyter notebook),其他部分都是红色的。
我认为是因为这部分的双引号:
OPTIONALLY ENCLOSED BY '"'
这让 Python 认为整个部分到此结束:
"LOAD DATA INFILE '/Users/v***/MySQLfiles/salaries.csv' \
INTO TABLE salaries.salaries \
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"
但是OPTIONALLY ENCLOSED BY '"'
是必须的,我需要这部分,因为有些列包含逗号。
我该如何解决这个问题?
此问题是由 OPTIONALLY ENCLOSED BY '"'
中的 "
结束 SQLCMD
字符串引起的。您可以通过使用反斜杠转义引号来解决此问题,但使用三重引号引起来的字符串会更容易避免必须完全转义引号:
SQLCMD = """LOAD DATA INFILE '/Users/v***/MySQLfiles/salaries.csv'
INTO TABLE salaries.salaries
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS"""