import csv
data = {}
f = open("train.csv")
csv_f = csv.reader(f)
labels = next(csv_f)
for i in range(len(labels-1)):
a = []
for row in csv_f:
a += row[i]
data [labels[i]] = a
Я делаю код, указанным выше, пытаясь прочитать файл CSV и поместить столбцы в словарь с первой частью, как этикетки и второй частью, как ARRA из значения. Это работает для моего первого столбца, который для моего набора данных - это «ID», но после этого он перестает работать - он просто оставляет массив a
пустым. Я сделал некоторую отладку и обнаружил, что он выполняет внешний цикл for, а затем внутренний цикл, но затем, когда он выполнил второй цикл внешнего цикла, он просто пропустил внутренний цикл. Он сделал это и для всех последующих.Python 3: Вложенный для петель пропуска вложенных циклов
Почему это так?
И как я могу исправить свой код, чтобы остановить его?
Вы понимаете, что делает каждая ваша петля? –
Возможный дубликат [Python csv.reader: как вернуться в начало файла?] (Http://stackoverflow.com/questions/431752/python-csv-reader-how-do-return-to -the-top-of-the-file) – Kevin
Можете ли вы привести пример содержимого 'train.csv' и то, что вы хотите в качестве вывода, потому что ваше описание нечеткое? – EvensF