如何有效地替换字符串中的双引号和单引号?

abl*_*mit 2 python database string

我正在解析xml文件并将其插入数据库.但是,由于某些文本包含双引号或单引号,我遇到插入问题.目前我正在使用下面显示的代码.但它似乎效率低下.

s = s.replace('"', ' ')
s = s.replace("'", ' ')
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以插入文本而不替换这些引用?

要么

有没有有效的方法来有效地替代它们?

谢谢 !

Jon*_*erg 12

为什么不能将包含引号的字符串插入数据库?是否有一些奇怪的数据类型允许除引号之外的任何字符?或者您是insert使用文字字符串构建语句,而不是像您应该那样将字符串绑定到查询参数?

如果你在做

cursor.execute('insert into mytable (somefield) values ("%s")' % (mystring))
Run Code Online (Sandbox Code Playgroud)

那是不安全和错误的.相反,你应该这样做

cursor.execute('insert into mytable (somefield) values (%(myparam)s)',
                dict(myparam=mystring))
Run Code Online (Sandbox Code Playgroud)