Похоже, у вас проблема с отступом. Ваши определения переменных находятся внутри функции, которая никогда не вызывается, в то время как остальная часть вашего кода находится в глобальной области и выполняется сразу после загрузки этого модуля. Таким образом, он не имеет доступа к переменным count_*
.
Нечто подобное может больше соответствовать вашим первоначальным намерениям ...
import csv
def internet_histogram():
count_6 = 0
count_5 = 0
count_4 = 0
count_3 = 0
count_2 = 0
count_1 = 0
with open("survey.csv",'r') as f:
reader = csv.reader(f)
with open("histogram.csv", 'w') as g:
writer = csv.writer(g)
next(reader)
for line in reader:
if int(line[3]) >= 30 and int(line[3]) <= 33:
if int(line[0]) == 2:
count_6 +=1
if line[2] != '':
if int(line[2]) == 1:
count_1 += 1
elif int(line[2]) == 2:
count_2 += 1
elif int(line[2]) == 3:
count_3 += 1
elif int(line[2]) == 4:
count_4 += 1
elif int(line[2]) == 5:
count_5 += 1
arr = [[1, count_1], [2, count_2], [3, count_3], [4, count_4], [5, count_5], [6, count_6]]
for i in arr:
writer.writerow(i)
Не забудьте позвонить internet_histogram()
где-то, если вам нужно, чтобы он работал как скрипт.