Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ValueError:值太多,无法解包4_Python - Fatal编程技术网

Python ValueError:值太多,无法解包4

Python ValueError:值太多,无法解包4,python,Python,我正在读取的文件正好有4列。我仍然得到下面的错误 for n, row in spamreader: print('row') print('debug point 4') cur.execute('''INSERT INTO table(col1,col2,col3,col4)values (%s,%s,%s,%s)''',row) if n % 2 == 0: connect.commit() connect.commit() 试一试 对于

我正在读取的文件正好有4列。我仍然得到下面的错误

for n, row in spamreader:
    print('row')
    print('debug point 4')
    cur.execute('''INSERT INTO table(col1,col2,col3,col4)values (%s,%s,%s,%s)''',row)
    if n % 2 == 0:
        connect.commit()
 connect.commit()
试一试

对于熊猫数据帧,必须使用df.iterrows:

n将是您的索引。在行内
您可以访问诸如row['column\u name']之类的数据。

问题是,当您在spamreader上迭代时,您需要两个变量- n-根据代码的其余部分,可能是行号 行-行本身

要获得行号,您实际上需要做的是-

 for n, row in spamreader.iterrows():
假设spamreader读取行,因为当前未给出spamreader的预期定义,这应该可以完成此工作


请参阅有关使用enumerate的详细信息。

spamreader是如何定义的?我建议您在enumeratespamreader中查找n,row:对于长度为2的每个迭代元组,您需要两个值n,row,但是还有更多的值。谢谢。它起作用了。但是insert语句永远不会结束,有什么线索吗?
 for n, row in spamreader.iterrows():
for n, row in enumerate(spamreader):