#python-3.x #numpy #genfromtxt
#python-3.x #numpy #genfromtxt
Вопрос:
Я пытаюсь прочитать .txt-файл, содержащий 4 столбца с именами col1, col2, col3 и col4, с типами данных string, string, float и float.
Я просто хочу прочитать столбцы col3 и col4 (для этого примера).
Я использовал: table = numpy.genfromtxt(filename, skip_header=1, usecols=(2, 3))
Затем я выяснил, что строки в столбцах col1 и col2 могут быть фразами (разделенными пробелами), тогда usecols
используются неправильные столбцы.
Возможно ли получить последние n столбцов?
Возможно ли прочитать столбцы, используя определенное имя столбца?
Спасибо
Ответ №1:
usecols
параметр принимает последовательность отрицательных чисел.
Чтобы получить последние два столбца :
table = numpy.genfromtxt(filename, skip_header=1, usecols=(-2, -1))
Комментарии:
1. Что, если в некоторых строках есть пробелы, а в других нет?, это моя проблема сейчас :/
2. При использовании разделителя пробелов по умолчанию пробелы в строках являются разделителями. Итак, вам нужен какой-то другой разделитель, например ‘,’.
genfromtxt
также работает с фиксированной шириной столбцов (вводится как список разделителей).