2017-01-31 2 views
0
list3 = [] 

with open('**directory**') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     list3.append(row) 

Ich bin völlig neu in der Datenanalyse mit Python, und benötigen einige Unterstützung.Probleme bezüglich csv.DictReader

Die Datei, auf die ich zugreife, enthält Daten von 5 Personen (CSV-Datei). Es gibt 3 Spalten - Teilnehmernummer, Pre-Task-Score und Post-Task-Score.

Ich versuche im Wesentlichen, auf diese Datei zuzugreifen (mit csv.DictReader) und manipulieren Sie die Daten. Damit meine ich, dass ich den Unterschied zwischen der Punktzahl nach der Aufgabe und der Punktzahl vor der Aufgabe für jeden Teilnehmer berechnen und diese auf den Bildschirm drucken möchte.

Allerdings bin ich mir nicht sicher, wie das geht. Ich kann jede Reihe auf den Bildschirm drucken, und ich kann jede Reihe in einer Liste speichern (wie ich oben getan habe) - aber ich habe keine Ahnung, wie ich mit diesen Daten umgehen soll. Ich frage mich, ob es etwas besseres gibt als das Modul, das ich gerade benutze.

+0

Sie fragt, wie Zahlen in Python addieren und das Ergebnis auf den Bildschirm drucken? –

+0

Können Sie ein Beispiel für die CSV-Datei angeben? – Jake

Antwort

0

die Differenz zwischen den zweiten und dritten Spalten in einer CSV-Datei erreicht werden kann Berechnung wie folgt:

import csv 

with open('file.csv', 'rb') as csvfile: 
    reader = csv.reader(csvfile, delimiter=',') 
    # skip the header row, remove this next line if there is no header 
    next(reader, None) 

    for row in reader: 
     difference = float(row[2]) - float(row[1]) 
     print str(difference) 
+0

Großartig. Das hilft sehr! Ist es möglich, eine ähnliche Sache mit Reihen zu machen? (d. h. 1. Zeile, 2. Spalte - 2. Zeile, 2. Spalte) – Anonypy

+0

Mit anderen Worten, iterieren Sie über Spalten im Gegensatz zu Zeilen? – Anonypy

+0

Egal, ich entdecke die Pandas :) – Anonypy