Projekt: PDF auslesen und Überführung in eine CSV-Datei; Darstellung in unterschiedlichen Spalten/Zeilen.

Code-Stücke können hier veröffentlicht werden.
Antworten
Paterchen
User
Beiträge: 2
Registriert: Donnerstag 7. März 2024, 21:07

Moin Leute,

ich bin hier neu und ein Neuling in Programmierung.
Wir haben in der Technikerschule eine Projektaufgabe bekommen, wo Daten aus mehreren PDFs extrahiert werden sollen.
Diese Daten sollen dann in einer CSV-Datei übertragen werden, was ich auch soweit hinbekommen habe.

Ich habe aber folgendes Problem, die Daten werden zwar übertragen, öffne ich die CSV-Datei ist alles in einer Spalte und mit Kommata getrennt.
Ich haben den unten aufgeführten Code von einer Webseite (https://www.geeksforgeeks.org/reading-a ... in-python/) wozu auch das Bild gehört.
Im Bild ist zu sehen, dass alles sauber in mehreren Spalten aufgeteilt wird, verwende ich den Code, landen alle Angaben in einer Spalte.
Ich habe schon alles versucht, aber ich komme nicht mehr weiter, vielleicht weis einer von Euch wie ich das Problem lösen kann.

Vielen Dank im voraus.


Bild


# my data rows as dictionary objects
mydict = [{'branch': 'COE', 'cgpa': '9.0', 'name': 'Nikhil', 'year': '2'},
{'branch': 'COE', 'cgpa': '9.1', 'name': 'Sanchit', 'year': '2'},
{'branch': 'IT', 'cgpa': '9.3', 'name': 'Aditya', 'year': '2'},
{'branch': 'SE', 'cgpa': '9.5', 'name': 'Sagar', 'year': '1'},
{'branch': 'MCE', 'cgpa': '7.8', 'name': 'Prateek', 'year': '3'},
{'branch': 'EP', 'cgpa': '9.1', 'name': 'Sahil', 'year': '2'}]

# field names
fields = ['name', 'branch', 'year', 'cgpa']

# name of csv file
filename = "university_records.csv"

# writing to csv file
with open(filename, 'w') as csvfile:
# creating a csv dict writer object
writer = csv.DictWriter(csvfile, fieldnames=fields)

# writing headers (field names)
writer.writeheader()

# writing data rows
writer.writerows(mydict)
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

Dss ist eher eine Frage für ein Office Forum.
CSV steht für "Comma Separated Values". Wenn also alle Werte mit einem Komma getrennt in einer Spalte landen, dann musst du dem Programm, mit dem du die Datei öffnest, beibringen, dass ein Komma die Were einer Zeile trennt.

"Wie öffne ich eine CSV Datei in {Tabellenkalkulationsprogramn}".
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich vermute mal, Du benutzt Microsoft Excel? Das ist eine wichtige Information, wenn Du von "Datei öffnen" redest.
Excel kann nur Dateien im eigenen Format öffnen.
Statt dessen musst Du die Datei in ein bestehendes Worksheet über den Reiter "Daten" und dort "Daten abrufen" einfügen. Dort kannst Du das Trennzeichen und Dezimalpunkte und weitere Einstellungen vornehmen.
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Alternativ könnte man statt des Kommas das Semikolon als Trennzeichen angeben, wie es von einer deutschsprachigen Installation von Excel standardmässig verwendet und erwartet wird.

Der Code auf der verlinkten Seite hat übrigens einen Fehler: Die Dateien müssen mit dem Argument ``newline=""`` geöffnet werden, sonst kann es Probleme mit den CSV-Dateien auf verschiedenen Plattformen geben. Das steht auch in der Dokumentation zum `csv`-Modul.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Paterchen
User
Beiträge: 2
Registriert: Donnerstag 7. März 2024, 21:07

Moin,

vielen Dank für Eure Antworten. Ich habe Eure Empfehlungen
ausprobiert und siehe da es hat funktioniert.
Danke für Eure schnelle Hilfe

Mit freundlichen Grüßen

Patrick
Antworten