Nejste přihlášen/a.

Přihlásit se do poradny

 

Nějaký programátor na python s práci se souborem

Od: anonimko odpovědí: 6 změna:

Je tu nějaký programátor kdo by mi pomohl s jednou chybou co se mi furt objevuje při práci se souborem. Kdyžtak kdybych mohl napsat na email jedná se o práci v pythonu byl bych moc rád děkuji.

 

 

6 odpovědí na otázku
Řazeno dle hodnocení

 

 

hodnocení

0x
avatar elisa24

Jak ten error zní? Sem jako přílohu klidně můžete dát .py soubor a k tomu nějaký vstupní soubor (pokud je třeba).

anonimko
hodnocení

no prostě se jedná o error key, z nějakého duvodu to nemůže najít klíč, který potřebuju z excelu.

selected_rows = []

for row in rows:

if int(row["kredity"]) > 20:

selected_rows.append(row)

 

anonimko
23.04.23 14:57
hodnocení


kredity.py 563 b
ukol.csv 464 b

 

hodnocení

0x
avatar bonbon

Protože CSV standartně znamená Comma Separated Values - Comma jako čárka. Ty tam máš středníky, když chceš aby se to chovalo ke středníkům jako k oddělovači, musíš to říct konstruktoru toho DictReaderu

reader = csv.DictReader(file, delimiter=;)


kredity.py 586 b
anonimko
hodnocení

Tvl děkuju moc furt jsem to nechápal, když celou tu dobu mě to psalo ty klíče stejně a ono to nakonec bylo středníkama, teď kkdyž to čtu tak to dává smysl. Díky moc

Myslím že by ti pro příště hodně pomohlo se naučit pořádně používat debugger (možná máš nějaký v editoru nebo i klidně nástroj pdb což je debugger který přichází s pythonem a máš ho určitě nainstalovaný). Třeba tady by sis akorát hodil breakpoint na před řádek kde ti to padá a podíval co je v té proměnné ze které se snažíš dostat ten klíč.

Dále bys neměl volat list() na ten reader protože tím se přečte všechno naráz do paměti. To nevadí u takhle malého souboru ale kdyby to byl třeba 20GB soubor tak to nedopadne dobře. Z toho readeru jde určitě číst i po řádcích a tím bys tomu předešel. Ale jestli je to jen nějaký cvičný úkol tak to není žádný velký problém.

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]