sql >> Databáze >  >> RDS >> Mysql

chyba při vkládání do mysql z pythonu for loop

Zdá se, že jeden z vašich seznamů obsahuje pouze jeden prvek, který způsobuje problém. Zkontrolujte prosím všechny seznamy:

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

Ujistěte se, že jsou podle očekávání.

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

tato syntaxe se iteruje přes všechny seznamy najednou, pokud se některá délka seznamů neshoduje, vyvolá se chyba hodnoty,

Pro lepší pochopení vašeho problému viz níže:

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

můžete to zkusit, pokud je to možné:

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


  1. Psaní jednoho dotazu pro více dotazů se stejnou podmínkou kde stejnou tabulkou

  2. Čím nahradit mysql_result pro MySQLi

  3. Prázdný příkaz v T-SQL

  4. Načtení typu tabulky Oracle z uložené procedury pomocí JDBC