sql >> Databasteknik >  >> RDS >> Mysql

fel när du infogar i mysql från python for loop

Det verkar som om en av dina listor bara har ett element i sig, vilket orsakar problemet. Kontrollera alla listor :

 items = [site.select('//h2').extract()]
 item = [site.select('//h3').extract()]
 item1 = [site.select('//meta').extract()]

Se till att de är som förväntat.

for index,index1,index2 in range (len( items)),range(len(item)),range(len(item1))

den här syntaxen itererar över alla listor samtidigt, om någon av listornas lins inte matchar kommer värdefelet att ökas,

För bättre förståelse av ditt problem se nedan:

In [1]: l1 = [1,2,3]

In [2]: l2 = [4,5,6]

In [3]: l3 = [7]

In [4]: for index,index1,index2 in range (len( l1)),range(len(l2)),range(len(l3)):
   ....:     print "Hi"
   ....:     
   ....:     
Hi
Hi
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/home/avasal/<ipython console> in <module>()

ValueError: need more than 1 value to unpack

kan du prova detta om möjligt:

for index,index1,index2 in zip(range (len( items)),range(len(item)),range(len(item1)))


  1. Hur UPPER() fungerar i MariaDB

  2. mysql2 gem, Rails 3.0.3 och inkompatibla teckenkodningsfel

  3. Flera ladda upp bilder till Mysql-databasen

  4. Genialt SQL Password Changer Utility för att återställa SQL Password