2016-09-07 4 views
-4

Как бы это повторить (исключая открытие файла и настройку переменных)? это мой код в Python3Повторение a for in line loop 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

Пожалуйста, прочтите «[ask]», а затем отредактируйте свой вопрос, чтобы было ясно, что вы просите. Покажите нам, что вы пробовали, что сделал ваш код, и что вы хотели, чтобы это делалось. Как вы можете сказать из приведенных ниже ответов, никто не знает, что вы спрашиваете. –

ответ

0

Если я правильно понял вопрос, попробуйте это и настроить для однако вы хотите форматировать. Заменить NUM_COLUMNS с количеством времени вы хотите повторять

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

Следующая функция возвращает количество полей в файле CSV file_name, значение которого field_value, что это то, что я думаю, что вы пытаетесь do:

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'))