Hallo zusammen,
Ich suche ein Beispiel für die Verarbeitung einer CSV-Datei mit mehreren Spalten.
Bin zwar in Sachen Python ein Anfänger, habe aber grundsätzlich Programmiererfahrungen.
Allerdings im Bereich der strukturierten Programmierung.
Dort kann man Dateien in Eingabestrukturen einlesen und die dann über die einzelnen Felder
der Struktur be- und verarbeiten.
Irgendwie fehlt mir noch die Verbindung der Strukturen zu den Listen, Array's .
Vielleicht hat ja jemand ein kleines Muster auf seinem Rechner, an dem ich abarbeiten kann
Vorab schon einmal vielen Dank
CSV-Datei verarbeiten
Welches Problem hast du denn mit der Dokumentation des csv-Moduls? Wo brauchst du vertiefende Info?Musiker123 hat geschrieben: ↑Sonntag 10. März 2019, 19:04 Ich suche ein Beispiel für die Verarbeitung einer CSV-Datei mit mehreren Spalten.
-
- User
- Beiträge: 40
- Registriert: Donnerstag 7. März 2019, 09:48
ich habe eher ein generelles Verständnisproblem.
Also, eine Tabelle (CSV) mit vielen Zeilen und 3 Spalten.
Wie kriege ich die Daten in eine sinnvolle Datenstruktur (zeilenweise) um diese
dann feld- bzw. spaltenweise zu verarbeiten, in eine neue Struktur zu übertragen und dann wieder auszugeben.
Eigentlich ganz einfach, mir fehlt nur ein Beispiel, um ein grundsätzliches Verständnis
für die Sprache zu bekommen.
Ich habe bisher einen Abend im VHS-Kurs Python absolviert, möchte aber nebenher schon einiges ausprobieren.
Das lesen der CSV-Datei ist nicht das Problem sonder das Auflösen des
Strings in mehrere Spalten und Datenstrukturen die ich verarbeiten kann.
Ein simples Beispuel würde mir schon helfen.
Also, eine Tabelle (CSV) mit vielen Zeilen und 3 Spalten.
Wie kriege ich die Daten in eine sinnvolle Datenstruktur (zeilenweise) um diese
dann feld- bzw. spaltenweise zu verarbeiten, in eine neue Struktur zu übertragen und dann wieder auszugeben.
Eigentlich ganz einfach, mir fehlt nur ein Beispiel, um ein grundsätzliches Verständnis
für die Sprache zu bekommen.
Ich habe bisher einen Abend im VHS-Kurs Python absolviert, möchte aber nebenher schon einiges ausprobieren.
Das lesen der CSV-Datei ist nicht das Problem sonder das Auflösen des
Strings in mehrere Spalten und Datenstrukturen die ich verarbeiten kann.
Ein simples Beispuel würde mir schon helfen.
Solche Beispiele finden sich in der Dokumentation des Moduls:
https://docs.python.org/3/library/csv.html#csv.reader
https://docs.python.org/3/library/csv.html#csv.reader
Eventuell auch für dich interessante Tutorials:
https://realpython.com/python-csv/
https://realpython.com/python-data-clea ... py-pandas/
https://realpython.com/python-csv/
https://realpython.com/python-data-clea ... py-pandas/
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
-
- User
- Beiträge: 40
- Registriert: Donnerstag 7. März 2019, 09:48
vielen Dank für die Antworten, das hilft schon weiter
Das Bsp, hat mir gefallen:
https://pythonspot.com/reading-csv-files-in-python/
https://pythonspot.com/reading-csv-files-in-python/
-
- User
- Beiträge: 40
- Registriert: Donnerstag 7. März 2019, 09:48
Hallo zusammen,
ich habe wieder ein Problem mit CSV-Dateien. Vllt kann mir ja jemand helfen!?
Ich möchte eine CSV-Datei lesen.
Die ersten 3 Zeilen laufen auch gut durch.
In der 4. Zeile ist ein Sonderzeichen ("\") und das Programm bricht mit folgender Meldung ab:
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcdf' in position 41: surrogates not allowed
Unexpected error, recovered safely.
Im Excel ist das Sonderzeichen nicht zu erkennen, aber beim Debugger (PyCharm) wird der Backslash angezeigt.
Wie komme ich darüber weg.
Die CSV-Dateien werden extern von Drittprogrammen erzeugt. Auf den Inhalt habe ich leider keinen Einfluss.
Vielen Dank im Voraus!
ich habe wieder ein Problem mit CSV-Dateien. Vllt kann mir ja jemand helfen!?
Ich möchte eine CSV-Datei lesen.
Die ersten 3 Zeilen laufen auch gut durch.
In der 4. Zeile ist ein Sonderzeichen ("\") und das Programm bricht mit folgender Meldung ab:
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcdf' in position 41: surrogates not allowed
Unexpected error, recovered safely.
Im Excel ist das Sonderzeichen nicht zu erkennen, aber beim Debugger (PyCharm) wird der Backslash angezeigt.
Wie komme ich darüber weg.
Die CSV-Dateien werden extern von Drittprogrammen erzeugt. Auf den Inhalt habe ich leider keinen Einfluss.
Vielen Dank im Voraus!
Die Daten sind fehlerhaft. Laut https://unicodebook.readthedocs.io/unic ... dings.html darf so ein Zeichen (das ist das komplette Ding, \udcdf, nicht nur der backslash. Der ist gar nicht wirklich da) so nicht vorkommen. Allerdings suggeriert das auch, dass es sich dabei um utf16 statt 8 handelt. Kannst du so eine Datei mal im ORIGINAL also zb über pastebin zeigen?
-
- User
- Beiträge: 40
- Registriert: Donnerstag 7. März 2019, 09:48
Kann man denn nicht die Datei so zu öffnen dass Python alle Codes einfach verarbeitet? Sind doch sowieso nur Texte.
Mit dem zeigen der Datei ist dass es Problem da es sich um Gehaltsdaten handelt.
Ich kriege diese Dateien aus verschiedenen Quellen und muss die in einem Rutsch verarbeiten.
Mit dem zeigen der Datei ist dass es Problem da es sich um Gehaltsdaten handelt.
Ich kriege diese Dateien aus verschiedenen Quellen und muss die in einem Rutsch verarbeiten.
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Musiker123: Sowieso nur Texte ist lustig. Du musst a) wissen in welcher Kodierung Textdateien vorliegen, und b) dürfen die dann keine illegalen Bytewerte/-sequenzen enthalten.
Andererseits: Hast Du denn tatsächlich ein Problem damit, denn da steht ja auch „[…] recovered safely.“
Wie liest Du die Daten denn ein? Wie und welche Kodierung gibst Du an? Liegen alle Deine Daten in der gleichen Kodierung vor? Kannst Du den vierten Datensatz isolieren und eventuelle personenbezogene Daten unkenntlich machen und *dass* dann zeigen? Aber nur 1:1 die Bytes und wenn die Datei auch das besagte Problem verursacht.
Andererseits: Hast Du denn tatsächlich ein Problem damit, denn da steht ja auch „[…] recovered safely.“
Wie liest Du die Daten denn ein? Wie und welche Kodierung gibst Du an? Liegen alle Deine Daten in der gleichen Kodierung vor? Kannst Du den vierten Datensatz isolieren und eventuelle personenbezogene Daten unkenntlich machen und *dass* dann zeigen? Aber nur 1:1 die Bytes und wenn die Datei auch das besagte Problem verursacht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 40
- Registriert: Donnerstag 7. März 2019, 09:48
so, Problem gelöst.
Habe Kontakt mit dem Ersteller der Datei aufgenommen.
Die Datei wurde fehlerhaft erstellt.
Vielen Dank für die Lösungsansätze !
Habe Kontakt mit dem Ersteller der Datei aufgenommen.
Die Datei wurde fehlerhaft erstellt.
Vielen Dank für die Lösungsansätze !