CSV - Benutzer Abfragen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Anne94
User
Beiträge: 1
Registriert: Dienstag 14. Mai 2019, 19:18

Hey Leute,

ich habe schon ziemlich viel gesucht, jedoch noch keine passende Lösung für mein Problem gefunden. Also folgendes: Ich möchte eine CSV Datei öffnen (kein Problem). Dann soll ein Benutzer die Möglichkeit haben eine Abfrage durchzuführen. Sprich er gibt z.B. einen Stadtnamen ein und daraufhin werden z.B. die Anzahl der Einwohner der Stadt ausgegeben. (Solche Art von Informationen sind in der Excel - hauptsächlich STädte und Gemeinden mit irgendwelchen Daten). Nur wie lese ich die CSV Datei aus - da sie aus Strings und Integer Werten besteht. Muss ich diese dafür in ein JSON Objekt speichern? Bin leider blutiger Anfänger in Python und konnte nichts konkretes finden. Über die genaue Vorgehensweise wäre ich sehr dankbar.


LG
Anne
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du verrätst leider nicht, WIE du die Daten einliest. Ich würde zu Pandas raten, weil das schon gleich versucht, eine Typwandlung vorzunehmen.

Wenn du dann eine eingabe hast, kannst du einfach danach filtern.

Beispiele dafür finden sich zb hier: https://cmdlinetips.com/2018/02/how-to- ... -a-column/
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Muss ich diese dafür in ein JSON Objekt speichern?
Also JSON brauchst du sicher nicht, weil du die Daten im Speicher definitiv native Python Datentypen haben möchtest.
Das kann z.B. eine Liste von Listen sein oder ein Dict. Kommt halt drauf, an, wie komplext die Daten sind.

Mit dem erwähnten Pandas kannst du halt auch relativ große Datenmengen einfach selektieren und durchsuchen.
Plan B wäre auch noch, die Daten in eine In-Memory SQlite DB zu schreiben und dann mit SQL-Queries abfragen.

Um einen der (vielen) Wege zu empfehlen müsstest du mal ein paar Datensätze aus der CSV-Datei zeigen.

Gruß, noisefloor
Antworten