2016-08-26 4 views
3

Die Funktion eine CSV-Datei zu öffnen, die Daten in diesem Format hat angeblichMeine Funktion gibt keinen Wert, kann nicht herausfinden, warum

„Polling Unternehmen, Datumsbereich, wie viele abgefragt, Rand Fehler, cruz, kasich, rubio, trump "

Wenn ich diese Funktion lese_data_file ausführe, gibt es keine Ausgabe, die ich nicht verstehe, da ich die poll_data zurückgebe. Ich glaube nicht, dass es ein Problem mit dem Rest des Codes gibt, so als ob ich "Rückgabe-Umfragedaten" durch "Druck (Umfragedaten)" ersetzt hätte, da ist die gewünschte Ausgabe.

Ich bin ein Neuling in diesem und habe keine volle Reichweite der Rückkehr.

def read_data_file(filename): 
    file = open(filename, 'r') 
    poll_data = [] 
    for data in file: 
     data = data.strip('\n') 
     data = data.split(',') 
     poll_data.append(data) 
    return poll_data 


read_data_file('florida-gop.csv') 
+2

"Ich glaube nicht, dass es ein Problem mit dem Rest des Codes gibt, so als ob ich 'Rückgabe Umfragedaten' durch 'Druck (Umfragedaten)' ersetzt hätte, da ist die gewünschte Ausgabe." - Wenn du das machst, musst du die letzte Zeile machen 'print (read_data_file (' florida-gop.csv ') ' – n1c9

+0

Was @ n1c9 sagte. Der beste Weg, um zu überprüfen, ob es irgendwelche * Ausgaben gibt, ist 'print (Funktion (Argumente))' – BHustus

+0

Also, wenn ich das Ergebnis der Funktion verwenden muss, aber ich möchte auch, dass die Funktion tatsächlich die Ausgabe der zeigt Ergebnis würde ich "print (read_data_file ('florida-gop.csv')" nach der 'Rückkehr poll_data'? Oder würde der Benutzer tatsächlich die Druckfunktion verwenden müssen, um die Ausgabe anzuzeigen? –

Antwort

2

Sie geändert, dass die letzte Zeile in der Funktion print-return. Also, wenn Sie Ihre Funktion als solche bezeichnen:

read_data_file('florida-gop.csv')

es tut Rückkehr, dass die Daten. Es sitzt genau dort! Aber dann endet das Skript und macht nichts mit diesen Daten. so, stattdessen etwas tun, wie folgt aus:

data = read_data_file('florida-gop.csv') 
print(data) 

ein kurzer Nachtrag - politische Daten eine hervorragende Möglichkeit, die Datenmanipulation mit Python zu lernen, und wenn ja geneigt, Python selbst. Ich würde die O'Reilly Bücher auf Daten & Python empfehlen - aber das ist außerhalb des Umfangs dieser Frage.

+1

Sie schlagen mich um 49 Sekunden. =) – heather

+0

:) Ihr war mehr erklärende, obwohl! – n1c9

1

Sie haben zwei Möglichkeiten:

  1. return poll_data mit print poll_data austauschen.
  2. Anstelle von read_data_file('florida-gop.csv') können Sie print read_data_file('florida-gop.csv') tun.

Warum müssen Sie dies tun?

Print vs Return

print tatsächlich zeigt das Ergebnis, während return nur das Ergebnis an den Computer gibt, wenn der Sinn macht. Der Computer weiß es, aber es druckt es nicht, weshalb die zweite Lösung funktioniert - der Computer hat die gewünschten Daten und kann sie auch ausdrucken, wenn Sie es auch befehlen. In Ihrem Fall ist die erste Lösung wahrscheinlich einfacher.

Hoffe, das hilft!

0

aus der obigen Fortsetzung (oder nicht so über mehr xD) Antwort ...

der vollständige Code wäre jetzt,

def read_data_file(filename): 
    file = open(filename, 'r') 
    poll_data = [] 
    for data in file: 
     data = data.strip('\n') 
     data = data.split(',') 
     poll_data.append(data) 
    return poll_data 


print(read_data_file('florida-gop.csv')) # Before you forgot to print it. 

oder genau wie die oben genannte Antwort,

def read_data_file(filename): 
    file = open(filename, 'r') 
    poll_data = [] 
    for data in file: 
     data = data.strip('\n') 
     data = data.split(',') 
     poll_data.append(data) 
    return poll_data 


data = read_data_file('florida-gop.csv') 
print(data) 
Verwandte Themen