tab getrennte Ausgabe

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
Tombery
User
Beiträge: 29
Registriert: Mittwoch 10. Juli 2019, 19:56

Hallöchen,

ich versuche meine Daten in eine Datei zu schrieben. Die jeweiligen Einträge sollten dafür diesmal mit Tab getrennt sein.
Zuerst hab ich versucht selbst die Ausgabe zu schrieben, jedoch hat er mir anstatt von Zahlen nur bites ausgegeben.
Dann habe ich gelesen, dass ich einfach den csv writer nehmen kann und dort delimiter änder kann.

Wenn ich dies tut passieren jedoch komische Dinge.

Hier mein Code

Code: Alles auswählen

def write_lin__reg_P1(Data, winchance):
    with open('lin_reg_P1.csv', 'a', newline='') as csvfile:
        writer = csv.writer(csvfile, delimiter='\t')
        print(Data)
        writer.writerow(
            {Data[0],Data[1],Data[2],Data[3],Data[4],Data[5],Data[6],Data[7],Data[8],Data[9],Data[10],Data[11],Data[12],winchance})
print Data gibt die richtigen Werte:

Code: Alles auswählen

[0, 0, 2, 1, 0, 0, 2, 0, 3, 4, 5, 3, 0]
[0, 1, 0, 1, 1, 3, 2, 2, 2, 2, 2, 4, 0]
[1, 0, 0, 0, 0, 3, 2, 1, 2, 4, 3, 4, 0]
[1, 2, 1, 1, 1, 2, 2, 4, 1, 1, 1, 2, 1]
[1, 0, 0, 1, 0, 1, 0, 2, 1, 6, 4, 3, 1]
Das geschriebene Code jedoch

Code: Alles auswählen

0	1	2	3	4	5	0.4444444444444444
0	1	2	3	4	0.2222222222222222
0	1	2	3	4	0.4444444444444444
0.5555555555555556	1	2	4
0	1	2	3	4	0.1111111111111111	6
Weiß jemand was ich falsch mache?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die geschwungenen Klammern in writerow - was glaubst du was die tun?
Tombery
User
Beiträge: 29
Registriert: Mittwoch 10. Juli 2019, 19:56

Dankeschön,

ich glaub mit den geschwungenen Klammern fasst er alles auf eine Menge zusammen, was natürlich Blödsinn ist.
Statt der Mengenklammer muss eine eckige Klammer geschrieben werden, dann funktioniert es perfekt.

Danke
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

👍👍👍
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Tombery: Es mag funktionieren, aber es ist unsinnig die ganzen `Data[…]` da hin zu schreiben. Das macht nur unnötig Arbeit beim schreiben. Und der Leser schaut sich die Indexwerte an und fragt sich ob er etwas übersehen hat, denn die da alle aufsteigend hin zu schreiben macht keinen Sinn.

Code: Alles auswählen

        writer.writerow(data + [winning_chance])
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten