我有一个数据库,在一个特定的列中有一些不正确的导入字符,我想用正确的字符替换它们。你知道吗
例如,我想用"
替换"
,在表数据的English
列的字符串中找到它。你知道吗
我使用以下代码无效:
conn = sqlite3.connect('Solutions.db')
c = conn.cursor()
sql = """SELECT English, replace(English,'"','"') FROM Data"""
c.execute(sql)
records = c.fetchall()
print("Total rows are: ", len(records))
print("Printing each row")
for row in records:
print(row[0])
print("\n")
conn.commit()
我注意到在调试器中sql =
行的翻译如下:
sql = SELECT English, replace(English,\ `'"` \',\'"\') FROM Data
它把一个\
放在每个'
之前,我不知道这是不是正常的行为。
不管是哪种方式,我都不会替换字符,但是如果我直接在sqlite3中运行相同的确切命令,那么更改就可以了。你知道吗
我使用的是python3.7.5
提前谢谢。你知道吗
这里的问题是打印的第一列是
English
,而替换实际上发生在结果集的第二列。你知道吗如果更新以下行以查找索引1而不是0,则会得到正确的结果。你知道吗
但是,它仍然不会更新数据库中的实际数据,因为
SELECT
只查询数据,而REPLACE
是在查询的数据副本上执行的。要更新数据库中的数据,需要对数据库列执行UPDATE
操作。你知道吗相关问题 更多 >
编程相关推荐