2016-09-07 3 views
-4

Wie würde ich das wiederholen (außer das Öffnen der Datei und die Einstellung der Variablen)? dies ist mein Code in python3Wiederholung einer in-line-Schleife python

file = ('file.csv','r') 
count = 0 #counts number of times i was equal to 1 
i = 0 #column number 
for line in file: 
    line = line.split(",")  
    if line[i] == 1: 
     count = count + 1 
i = i+1 
+0

Bitte lesen Sie "[fragen]", und dann [bearbeiten] Ihre Frage, so ist es klar, was Sie fragen. Zeigen Sie uns, was Sie versucht haben, was Ihr Code getan hat und was Sie stattdessen tun wollten. Wie Sie anhand der unten stehenden Antworten erkennen können, weiß niemand, was Sie wirklich fragen. –

Antwort

0

Wenn ich die Frage verstehen, versuchen Sie dies und stellen für, wie Sie wollen zu formatieren. Ersetzen NUM_COLUMNS mit der Anzahl, wie oft Sie es

file = open('file.csv','r') 
data = file.readlines() 
for i in range(NUM_COLUMNS): 
    count = 0 
    for line in data: 
     line = line.split(",") 

     if line[i] == ("1"): 
      count = count + 1 
    print count 
0

Die folgende Funktion gibt die Anzahl der Felder in der CSV-Datei file_name, deren Wert zu wiederholen wollen, ist field_value, das ist, was ich glaube, Sie versuchen, tun:

import csv 

def get_count(file_name, field_value): 
    count = 0 
    with open(file_name) as f: 
     reader = csv.reader(f) 
     for row in reader: 
      count += row.count(field_value) 
    return count 

print(get_count('file.csv', '1')) 
Verwandte Themen