numpy.genfromtxt имена столбцов синтаксических с экранирующими символами некорректно

голоса
1

Я читаю большое количество данных из файла CSV с помощью следующего кода

data = np.genfromtxt(inputfile.name, delimiter=',', dtype=float, names=True)

Согласно строке документации, используя имена ключевых слов с Истинным значением, означает, что данные структурированы в 1d структурированного массива, где столбцы исходного файл CSV доступны через их имена, взятые из первой строки файла.

В то время как это работает в целом, мне кажется, что строки имени не анализируется, как я бы ожидать в качестве исходных строк. r'some строка»

например, строки из файла

s = LNAGain(Corner=nom_8;modelFiles=model.paths.scs;cur_ctl_counter=1;vsupply=1.65;temperature=85) Y
#correct

получает синтаксический анализ

s=LNAGain_Cornernom_8modelFilesmodelpathsscscur_ctl_counter1vsupply165temperature85_Y
#wrong

Так он пропускает равные знаки, и точку с запятой скобки. Есть ли способ, чтобы заставить чтение как сырая строку? Или это ошибка в методе Numpy?

Если бы я только что прочитал строку с

inputfile.readline() 

все корректно распознаны / как я хочу.

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

Задан 14/01/2015 в 09:23
источник пользователем
На других языках...                            


1 ответов

голоса
1

У меня вокруг моего вопроса с помощью модуля панд для импорта CSV, вместо NumPy. См http://pandas.pydata.org

Кажется, разобрать текстовый файл, содержащий данные в гораздо более разумным способом.

Таким образом, вместо того, чтобы делать

import numpy as np
data = np.genfromtxt(inputfile.name, delimiter=',', dtype=float, names=True)

я делаю

import pandas as pd
data = pd.read_csv(inputfile.name, sep=',')

и все в порядке. :)

Конечно, я должен был изменить свой код, чтобы использовать методы панд для обработки данных-объекта, но изменения, где незначительными.

например, чтобы получить доступ к колонку данных Я хотел бы использовать

data[data.columns[column_index]]

вместо

data[data.dtype.names[column_index]
Ответил 29/01/2015 в 14:40
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more