【发布时间】:2020-01-31 02:20:18
【问题描述】:
第一步从 mysql 获取数据开始。然后,我将使用我创建的字典进行拼写检查。最后,将输出插入mysql。问题是我的输出循环了多次。希望你能帮助我
我的代码:
app.py
from dic import dikk
cur.execute("SELECT a FROM table WHERE id=%s", [id])
data = cur.fetchall()
for row in data:
for k, v in dikk.items():
t = re.compile(re.escape(k), re.IGNORECASE)
row['a'] = t.sub(v, row['a'])
print(row['a'])
mySql_insert_query = """INSERT INTO table2 (a) VALUES (%s)"""
records_to_insert =[(row['a'])]
cur = mysql.connection.cursor()
cur.execute(mySql_insert_query, records_to_insert)
# Commit to DB
mysql.connection.commit()
dic.py
dikk={'speling':'spelling','writen':'written','Jhon':'John'}
我得到的输出:
it is not Jhon
it is not Jhon
it is not John
我想要的输出:
it is not John
【问题讨论】:
-
什么是
row['g']?您只选择了a。 -
你在哪里执行
INSERT查询? -
哦……抱歉……我已经编辑过了……
-
row['a']是如何工作的?fetchall()返回元组列表,而不是字典列表。
标签: python python-3.x for-loop