python - 将实际字符'\ n'添加到python中的字符串?
问题描述
我正在编写一个简短的程序来遍历一个目录并为一堆 csv 编写创建表和从 csv 语句加载并将它们全部放入 mySQL。我确信有一种更简单的方法可以做到这一点,但我认为自己制作会很有趣。
这是我在 python 中构建 load csv 语句的行之一,其中 l_d 是我存储它的变量,f 是文件路径,n 是表名:
l_d = "LOAD DATA INFILE " + "'" + f + "'" + "\nINTO TABLE " + n + "\nFIELDS TERMINATED BY ','\nENCLOSED BY '" + '"' +"'" + "\nLINES TERMINATED BY" +"\'\n\'" + "\nIGNORE 1 ROWS;"
我想要的 SQL 语句是:
LOAD DATA INFILE 'file.csv'
INTO TABLE table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY'\n'
IGNORE 1 ROWS;
但我得到的总是
LOAD DATA INFILE 'file.csv'
INTO TABLE table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY'
'
IGNORE 1 ROWS;
因为它认为我的 \n 应该是换行符而不是实际字符。
我怎样才能让实际的角色出现在这里?
另外,我知道我在原始语句中的整个字符串连接有点恶心(我对此很陌生),所以任何关于如何改进的一般提示也将不胜感激:)
解决方案
为了逃避退格,在它之前添加另一个:
\\n
得到\n
所以你的代码将是:
l_d = "LOAD DATA INFILE " + "'" + f + "'" + "\nINTO TABLE " + n +
"\nFIELDS TERMINATED BY ','\nENCLOSED BY '" + '"' +"'" + "\nLINES
TERMINATED BY" +"\'\\n\'" + "\nIGNORE 1 ROWS;"
推荐阅读
- javascript - 如果在两个组件中使用 React Native Redash onScrollEvent 不会改变 Y 值
- reactjs - 反应构建获取请求失败
- r - R合并相同大小的大型数据框的最佳方法
- reactjs - 如何在 React 状态更新加载主屏幕时删除警告
- python - 试着做季节作业
- firebase - 如何将 admob 与颤振集成
- windows - 在批处理中将文件移动到带有全名的修剪文件名位置
- python-xarray - 使用 xarray 如何将数据集中的所有值替换为具有匹配坐标子集的另一个匹配数据集中的值?
- python - Python pandas 将绝对值添加到系列中的正数/负数
- android - 如果应用程序在 android oreo 及更早版本中被杀死,则显式广播接收器不会启动