&引用;索引器:字符串索引超出范围“;将CSV文件插入SQL数据库PYTHON时

&引用;索引器:字符串索引超出范围“;将CSV文件插入SQL数据库PYTHON时,python,sql,pandas,csv,execute,Python,Sql,Pandas,Csv,Execute,我有这段代码来上传一个CSV文件“latest_file”,它有7列,如下所示: 日期、全名、小时30、电子邮件、角色、辅助代码、调整状态时间v2 2020年3月5日,罗兰多·卡多纳,23:30:00,rolandoc@email.com,第2层,不可用,0.46667 2020年3月5日,艾伦·蒙卡达,23:00:00,allanm@email.com,第1层,不可用,0.016666667 2020年3月5日,安琪尔·阿隆佐,23:00:00,angela3@email.com,第1层,不可

我有这段代码来上传一个CSV文件“latest_file”,它有7列,如下所示:

日期、全名、小时30、电子邮件、角色、辅助代码、调整状态时间v2
2020年3月5日,罗兰多·卡多纳,23:30:00,rolandoc@email.com,第2层,不可用,0.46667
2020年3月5日,艾伦·蒙卡达,23:00:00,allanm@email.com,第1层,不可用,0.016666667
2020年3月5日,安琪尔·阿隆佐,23:00:00,angela3@email.com,第1层,不可用,0.05
2020年3月5日,David Lobo,23:30:00,davidl2@email.com,第1层,随时待命,0
2020年3月5日,桑德拉·塞拉托,23:00:00,sandrac@email.com,第2层,呼叫工作后,6.25
2020年3月5日,埃里克·弗洛雷斯,23:00:00,erickf@email.com,0,不使用-不可用,178.6333333
2020年3月5日,迭戈·塞拉托,23:00:00,diegoc@email.com,第1层,就绪,58.83333

使用以下代码连接到我的数据库:

for row in latest_file:
    cursor.execute('''INSERT INTO V6_test (Date,Full_Name,hour30,email,Role,Aux_code,Adjusted_Time)
                  VALUES (?,?,?,?,?,?,?);''', row[0],row[1],row[2],row[3],row[4],row[5],row[6])
我正在阅读最新的文件

latest_file = pd.read_csv(#filepath, sep = ",")
但我得到了错误代码“IndexError:字符串索引超出范围” 角色中的某些值为NULL 所以我试着用0来填充它们 查看导致问题但运气不佳的位置是否为空

要检查我执行的每行的值类型,请执行以下操作:

for row in latest_file:
print('TYPE:', type(row))
    print('ROW', row)
但出于某种原因,即使在使用以下格式格式化每列之后,所有类型都作为每行的字符串出现:

latest_file['Date'] = pd.to_datetime(latest_file["Date"], format = '%m/%d/%y')
latest_file['hour30'] = pd.to_datetime(latest_file['hour30'],format='%H:%M').dt.time
latest_file['Adjusted State Timev2'] = latest_file['Adjusted State Timev2'].astype(float)
我得到相同的错误,仍然为所有列键入字符串 我还将数据库表上的所有数据类型都更改为字符串,只是为了查看,但运气不好


有什么想法吗?

a
for
这样的循环只是在列名上迭代,而不是在行上迭代。对idx使用ie
,最新的_文件中的行。iterrows():
这对我很有用,非常感谢!!