gpt4 book ai didi

Python双反斜杠问题

转载 作者:行者123 更新时间:2023-12-01 06:07:14 26 4
gpt4 key购买 nike

我正在使用 python 脚本将数十万个插入查询发送到属于另一个系统的 SQL 服务器。

我的插入示例:

"INSERT INTO ImportData (ISBNORISSNORURL, FILENAME, PDFLOCATIONS, PROCESSED) VALUES('0442019521', 'pinto_1995_245_hires.pdf', 'I:\\Collect and Process Data\\Licensing Schemes Processing\\03 Data Preparation Original\\USQ\\September-October 2010\\pinto_1995_245_hires.pdf','0');"

文件路径字符串被分配给全局:

PDFLOCATIONS = "I:\Collect and Process Data\Licensing Schemes Processing\03 Data Preparation Original\USQ\September-October 2010"

然后将其添加到由名称/值对组成的字典中,这些名称/值对与插入查询中的字段和值数据相匹配。这些被转换为数据字符串:

final_header_list = str(fields_value_list.keys()).replace("[","").replace("]","").replace("'","")

final_values_list = str(fields_value_list.values()).replace("[","").replace("]","").replace("'","")

然后将其添加到最终的插入字符串中:

insert_query = 'INSERT INTO {0} ({1}) VALUES({2});'.format(TABLE,final_header_list,final_value_list)

以 10000 为一组发送到 sql server。

双反斜杠作为双反斜杠进入数据库,而不是神奇地转换为单反斜杠。显然我不允许使用正斜杠作为替代。有没有其他方法可以让我得到所需的单反斜杠?或者 SQL Server 实例的管理员是否必须自行进行更改?

非常感谢!

最佳答案

尝试改变

PDFLOCATIONS = "I:\Collect and Process Data\Licensing Schemes Processing\03 Data Preparation Original\USQ\September-October 2010"

PDFLOCATIONS = r"I:\Collect and Process Data\Licensing Schemes Processing\03 Data Preparation Original\USQ\September-October 2010"

(注意原始 - r - 指示符)

编辑:再试一次

使用丑陋的野兽方法:

final_values_list = ', '.join(fields_value_list.values).replace(r"\\", "\\")

从而强制字符串没有双反斜杠。当然我会首先尝试更换

insert_query = 'INSERT INTO {0} ({1}) VALUES({2});'.format(TABLE,final_header_list,final_value_list)

insert_query = 'INSERT INTO %s (%s) VALUES(%s);' % (TABLE,final_header_list,final_value_list)

只是为了完全确定不需要这种丑陋的方法。

关于Python双反斜杠问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7478306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com