проблемы с numby genfromtxt в Python3

я пытаюсь использоватьgenfromtxt с Python3, чтобы прочитать простойCSV файл, содержащий строки и числа. Например, что-то вроде (далее "test.csv»):

1,a
2,b
3,c

с Python2 хорошо работает следующее:

import numpy
data=numpy.genfromtxt("test.csv", delimiter=",", dtype=None)
# Now data is something like [(1, 'a') (2, 'b') (3, 'c')]

в Python3 возвращается тот же код[(1, b'a') (2, b'b') (3, b'c')], Это как-тоожидаемый из-за другого способа Python3 читает файлы. Поэтому я использую конвертер для декодирования строк:

decodef = lambda x: x.decode("utf-8")
data=numpy.genfromtxt("test.csv", delimiter=",", dtype="f8,S8", converters={1: decodef})

Это работает с Python2, но не с Python3 (то же самое[(1, b'a') (2, b'b') (3, b'c')] выход. Однако, если в Python3 я использую код выше, чтобы прочитать только один столбец:

data=numpy.genfromtxt("test.csv", delimiter=",", usecols=(1,), dtype="S8", converters={1: decodef})

выходные строки['a' 'b' 'c'], уже декодирован, как и ожидалось.

Мы также пытались предоставить файл в качестве выходногоopen с'rb' режим, как предлагается вэта ссылка, но улучшений нет.

Почему конвертер работает, когда читается только один столбец, а не когда два столбца читаются? Не могли бы вы предложить мне правильный способ использованияgenfromtxt в Python3? Я делаю что-то неправильно? Заранее спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос