Seite 1 von 1

tab getrennte Ausgabe

Verfasst: Donnerstag 1. August 2019, 08:50
von Tombery
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?

Re: tab getrennte Ausgabe

Verfasst: Donnerstag 1. August 2019, 08:57
von __deets__
Die geschwungenen Klammern in writerow - was glaubst du was die tun?

Re: tab getrennte Ausgabe

Verfasst: Donnerstag 1. August 2019, 09:28
von Tombery
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

Re: tab getrennte Ausgabe

Verfasst: Donnerstag 1. August 2019, 09:29
von __deets__
👍👍👍

Re: tab getrennte Ausgabe

Verfasst: Donnerstag 1. August 2019, 09:42
von __blackjack__
@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])