Привет, братишка. Помоги мне сделать так, чтобы это работало. Пишет IndexError: list index out of range. В документе таблица с числами. Функция split возвращает число i-той строки 14-го столбца. Цикл записывает все числа 14-го столбца в массив H. Сука, блять
>>149996897 (OP)Дебажить код тебя не учили?
>>149997431Меня вообще ничему не учили. Мне просто нужно считать это говно, а ручками в эксель переписывать не хочется
Я не очень шарю питон но размер массива для 14 ячеек будет 13. А ты возможно обращаешься к 14 если я правильно синтаксис понимаю
>>149997992Так я же и написал len(x) - 1. Или не так это делается?
>>149997520Ну ты дауничВ экселе есть функция импорта данныхСуёшь ему туда csv, ставишь разделителем пробелИ всё! Вы восхитительны!
>>14999799214 - это не размер массива, это номер столбца. Размер массива задан len(x) - 1
>>149998166Раз уж начал, хочу разобраться
>>149998113Индексация с нуля начинаетсяПоэтому если в массиве 14 элементов, то последний будет иметь индекс 13Разговор идёт про строку return x.split()[14]должно быть return x.split()[13]
>>149998387/t
>>149996897 (OP)а в документе 14 столбцов? может падает тут - x.split()[14] - ведь там с нуля номерация
>>149998387Все равно не работает
>>149998538Сама функция работает, не работает цикл
>>149996897 (OP)Как в питоне рейнж работает? От 1 до предела? От 0 до предела? Какой у массивов первый индекс? 0 или 1? В цикле выводи значение i - простейший уровень дебага.
>>149996897 (OP)Расскажите нюфане, каково происхождение второго видоса. Знаю только то, что оно имеет отношение к деревотян. Это типа ее второе лицо?
>>149998589От 0 выводит и split работает. Не работает цикл
>>149996897 (OP)Не еби себе и людям мозг, подключи numpy
>>149998662что напишет на for i in range(len(x) - 1): print(i)
>>149999036Посчитал от 0 до 95
>>149998662На каком i крашится? Попробуй вручную первые два сплита сделать.
>>149999188Сделались.
>>149999188При x[0] пишет out of range. Пишу в цикле x[i+1], все равно пишет out of range
>>149999818Блять, наверное в x[i+1] ошибка. Как считать от 1, а не от 0?
>>149999818Питон разруливает области видимости? ты там везде x используешь, внутри функции и вовне
>>150000441x - глобальная переменная, если ты об этом
>>149999468Что значит split()[14]? Сплитани вручную с аргументом len(x)-1. Что возвращает len(x)?
Нормальные люди не итерируюся по списку используя индекс, в питонах за такое нещадно пиздят. Надо так:for row in x: H.append(split(row))Алсо так и не понял, нахера ты сначала собираешь всё в одну строку, а потом каждый раз split делаешь.
>>149996897 (OP)range(len(YOBA)) вернёт тебе массив из двух элементов: максимальный и минимальный индекс, т. е [0, len(YOBA)]. Как я понимаю, ты расчитываешь на что-то другое.
>>150000520Имел ввиду что в функции она юзается как локальная, но может это и норм
>>150000571На это и рассчитываю, число итераций будет равно мощности массива
>>149996897 (OP)Вот код. В результате в h будут элементы из 14-го столбца. Ты это пытаешься сделать?
>>150000710Ага
>>150000710Бля, хули картинка не прекриаилась?COLUMN_NUMBER = 14with open('v.txt', 'r') as csv_file: h = [raw[COLUMN_NUMBER - 1] for raw in csv.reader(csv_file, delimiter=' ', quotechar='|')]print(h)
>>150000542А ещё если надо 14 столбец, то, видимо, надо [13] брать, а не [14], так как нумерация в списках с нуля.
>>150000781>>150000542Спасибо, няши
>>150000571> range(len(YOBA)) вернёт тебе массив из двух элементовЧто блядь
>>150000873Вручную парсить csv это дело такое себе, если надо работать с таблицами или матрицами, то лучше использовать pandas или numpy.С numpy твоя задача превращается во что-то вродеimport numpy as nparr = np.genfromtxt(filename, delimiter=" ")H = arr[:,13]
>>150001313Охуенно, это тоже работает. Спасибо