如何将多行带格式的Python SQL查询转换为单行?
多行格式化SQL转单行的方法
手动处理
直接删掉所有换行,把多余的缩进、连续重复的空格替换成单个空格,保留SQL语法必需的空格即可。你的示例转成单行后是:
q = f'UPDATE `table` SET `col1` = 1 WHERE `another col` = 2 AND `final col` = 3'
用Python自动处理
如果要批量处理或者不想手动操作,可以用字符串处理工具自动清理:
# 原多行SQL字符串 q = f''' UPDATE `table` SET `col1` = 1 WHERE `another col` = 2 AND `final col` = 3 ''' # 方法1:逐次替换连续空格 single_line_sql = q.replace('\n', '').strip() while ' ' in single_line_sql: single_line_sql = single_line_sql.replace(' ', ' ') # 方法2:用正则表达式高效处理 import re single_line_sql = re.sub(r'\s+', ' ', q.strip()) # 最终的单行变量 q_single = f"f'{single_line_sql}'"
两种方法都会得到和手动处理一致的单行结果。
内容的提问来源于stack exchange,提问作者NFeruch - FreePalestine
相关产品推荐
相关产品推荐

