csv不同数据插入MySQL数据库错误

我自己生成了两个csv文件,一个是写入了字符串数据,一个写入了整形数据,我想将这两个csv文件分别导入已经创建好的数据库对应表的列中去。
已经创建好的数据库及表如下:

img

import pymysql 
import pandas as pd 
orig_name = pd.read_csv('E:\pythonProject Web\min web框架\csv文件数据的写入\\name2.csv')
#我name2.csv所在的位置
orig_number = pd.read_csv('E:\pythonProject Web\min web框架\csv文件数据的写入\\number.csv')
#我number.csv所在的位置
lis_data = orig_name.values.tolist() 
lis_data1 = orig_number.values.tolist() 
db = pymysql.connect(host='localhost',
                      user='root',
                      password='数据库的密码',
                      port=3306,
                      db='stu_table')
cursor = db.cursor() 
#这里插入的字符串数据和整型数据正好是stu_table数据库students中的前俩个列
sql = 'INSERT INTO students VALUES(%s,%s)' 
cursor.executemany(sql, lis_data,lis_data1)
db.commit()
以上代码报错为:executemany() takes 3 positional arguments but 4 were given意思是Executemany()接受3个位置参数,但给出了4个
我的怀疑是不是SQL的用法使用错误,但是我又不知道这种多个数据的精确插入数据库SQL的语法到底该如何去写

**疑惑:不理解为什么最后传入了四个位置参数给了Executemany(),不应该只是俩个吗?如果是SQL的语法使用错误,那么这里的SQL语法该如何去改?
**

csv本质上就是个文本文档,只不过扩展名改了一下而已
你要往里面写数字,也应该转成str类型写入
永远不要往里面直接写int型,那它变成二进制文件了
你就读不出来了
此外,cursor.executemany(sql, lis_data,lis_data1)
executemany有3个参数,第一个参数是self,传入的是cursor,lis_data1删掉

执行executemany()方法时,应该将待插入的多个参数作为一个列表传递进去,而不是将每个参数当做一个单独的参数传递进去。因此,应该将以下行:

cursor.executemany(sql, lis_data,lis_data1)

修改为:

cursor.executemany(sql, zip(lis_data, lis_data1))

这样,将字符串数据和整型数据一起插入到数据库表中的前两列。

在这条SQL语句中插入多个值的情况下,你可以使用以下示例:

INSERT INTO students (col1, col2) VALUES (%s, %s), (%s, %s), (%s, %s), ...

每个占位符都将被更换为以下值的一个:一个元组中的值对。因此,zip()函数会将两个列表中的值打包成一个元组对,并将所有这些元组对添加到一个列表中,该列表被传递给executemany()方法。