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

Převeďte výsledek sql na seznam python

Pokud máte iterovatelný v Pythonu a chcete vytvořit seznam, můžete jednoduše zavolat list() vestavěný :

list(cursor.fetchall())

Všimněte si, že iterovatelný je často stejně užitečný jako seznam a potenciálně efektivnější, protože může být líný.

Váš původní kód selže, protože nedává příliš smysl. Procházíte řádky a vyjmenujete je, takže získáte (0, first_row), (1, second_row) , atd... - to znamená, že vytváříte seznam n-tých položek každého n-tého řádku, což vůbec není to, co jste chtěli.

Tento kód ukazuje některé problémy - za prvé list() bez jakýchkoli argumentů je obecně lepší nahradit literálem prázdného seznamu ([] ), protože se snáze čte.

Dále se pokoušíte smyčkovat podle indexu, to je v Pythonu špatný nápad. Smyčka přes samotné hodnoty, nikoli indexy, které pak použijete k získání hodnot.

Pamatujte také, že když uděláte potřeba vytvořit seznam hodnot, jako je tento, pochopení seznamu je nejlepší způsob, jak to udělat, spíše než vytvářet seznam a pak k němu přidávat.



  1. MySQL:OMEZIT procentem počtu záznamů?

  2. 6 způsobů, jak odstranit duplicitní řádky, které mají primární klíč v Oracle

  3. smyčka foreach :Použití všech jader v R (zejména pokud odesíláme dotazy SQL uvnitř smyčky foreach)

  4. Zpracovává mysqldump binární data spolehlivě?