回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>在这个程序中,我想做的是在操作数据后将其发送到数据库中发送的名为concurgaison_pré的specefic表中,但当我使用函数cursor.executemany()时<;代码中有mycursor.executemany()>;第二个参数就像不会传递一样,虽然它的格式是正确的(元组列表),但是当我放置另一个简单的元组列表而不是它传递的实际数据时,
我试图通过used type()方法查看其数据类型是否为true,但它给了我一个列表,下面是错误:
<code>raise errors.ProgrammingError( mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python 'tuple' cannot be converted to a MySQL type </code>
_代码如下:</p>
<pre><code>def conjugate_1er_gr_pré():
mycursor.execute("SELECT nom FROM conjugaison_verbe WHERE groupe = 1")
vrbs1gr = mycursor.fetchall()
termi_1_gr = ['e', 'es', 'e', 'ons', 'ez', 'ent']
res = np.array([])
result = []
for x in vrbs1gr:
# converting the data type of vrbs1gr from tuple to string
y = str(x)
# Slicing from the beginning
y = y[2:]
# Slicing from the end
global z
z = y[:-3]
for j in termi_1_gr:
m = z.replace("er", j)
result.append(m)
arr = np.append(res, result)
def slicer(n, iterable):
args = [iter(iterable)] * n
return zip(*args)
arr1 = slicer(6, arr)
return tuple(arr1)
sql = "INSERT INTO conjugaison_présent (je,tu,il,nous,vous,ils) VALUES(%s,%s,%s,%s,%s,%s);"
vals = conjugate_1er_gr_pré()
val = list(vals)
print(val)
mycursor.executemany(sql,val)
mydb.commit()
</code></pre>
<p>打印的“val”类似于:</p>
<pre><code>[('joue', 'joues', 'joue', 'jouons', 'jouez', 'jouent'), ('passe', 'passes', 'passe', 'passons', 'passez', 'passent'), ('travaille', 'travailles', 'travaille', 'travaillons', 'travaillez', 'travaillent'), ('achete', 'achetes', 'achete', 'achetons', 'achetez', 'achetent')]
</code></pre>
<p>有什么建议吗</p>