Zahl wird beim schreiben in CVS nach jeder Ziffer mit Komma getrennt - Völlig verzweifelt

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
Halbblutprinz
User
Beiträge: 1
Registriert: Montag 22. Februar 2021, 09:03

Hallo Zusammen,

ich bin recht neu in der Programierung undmir ist bewusst, dass es häufig ein gewisses probieren braucht um sich zu verbessern und die Lösung zu finden. Nur leider bin ich hier völlig an meine Grenzne gestoßen vieleicht kann mir jemand weiterhelfen?

import pandas as pd
import csv

daten = pd.read_csv("Master-Daten-PZN.txt", delimiter = ";")

zeile = 0

workpzn = (daten.iloc[zeile,5])

print(workpzn)

f = open("test.csv", "a", newline="")
writer = csv.writer(f)
writer.writerow(str(workpzn))

In der Variable workpzn ist eine Zahl 123456.
Auf die Konsole gibt mir das Programm 123456 aus jedoch schreibt er 1,2,3,4,5,6 in die CVS-Datei.
Zudemwürde mich interessieren warum, mir Pycharm einen fehler anzeigt, wenn ich lediglich writer.wrtierrow(workpzn) schreibe und die variable nicht speziel als string definiere. Zudem wird int(workpzn) ebenfalls als fehlerhaft gemeldet.

vielen Dank im Voraus für die mögliche Hilfe.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du wandelst deine Zahl in einn String der ASCII-Zeichen 1, 2, 3, 4, etc. Darum iteriert der writer darüber & schreibt die einzelnen Zahlen. Weil er nun als etwas aufzählbares erwartet beim Schreiben.

Nun gäbe es da diverse Wege zum Ziel. Der einfachste: du benutzt doch schon Pandas. Benutze als auch dessen Möglichkeiten CSV zu schrieben & schreib den gewünschten Ausschnitt deiner Daten.
Antworten