Метод Numpy.genfromtxt работает в Windows, но не в Linux - PullRequest
3 голосов
/ 26 января 2011

Я выполняю некоторую обработку данных, и я создал программу для Python в Windows, и теперь я хочу запустить ее на своем компьютере с Linux, чтобы она могла работать, пока я иду домой пить пиво и т. Д.Одна часть кода (важная) получает некоторые столбчатые значения из CSV-файла с помощью метода genfromtxt Numpy.фрагмент кода, о котором идет речь:

rfd_values = np.genfromtxt(file_in, delimiter=',',
             skip_header=1,
             invalid_raise=0,
             usecols = cols)

Итак, идея в том, чтобы пропустить заголовок, разделитель - запятая, и дать мне только столбцы из списка вызываемых столбцов.Это работает просто на моем ноутбуке с Windows (та же версия Python и Numpy, 2.6 и 1.5 соответственно), но когда я запускаю его в Linux, он говорит мне:

* TypeError: genfromtxt () получил неожиданноеАргумент ключевого слова 'skip_header' *

Я попытался поместить все в одну строку и изменить кавычки вокруг ключевого слова разделителя, но это, похоже, не сработало.Возможно, это что-то глупое, но я, кажется, не могу понять, как на это повлиять.Я просмотрел кучу форумов и документов Numpy и не увидел ничего похожего на то, что видел.Мне интересно, что же мне не хватает.

Я был бы очень признателен за любую проницательность.

Заранее спасибо!

-Джефф

1 Ответ

3 голосов
/ 29 января 2011

Вы сказали, что на самом деле используете версию 1.3 в Linux. У этого есть аргумент skiprows, который совпадает с skip_header. Учитывая, что numpy.genfromtxt нет даже в документации по 1.3, я бы предположил, что это просто тестирование в 1.3, а окончательная подпись не совсем установлена. Тем не менее, есть обходной путь для вашего дела. Вместо этого вы можете использовать параметр ключевого слова names=True. В этом случае первая строка будет использоваться не для данных, а для определения имен столбцов (которые затем можно использовать вместо номеров столбцов в списке, передаваемых как usecols).

Но есть и другая проблема. Аргумент invalid_raise также отсутствует в 1.3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...