Чтение данных из текстового файла с отсутствующими значениями

Я хочу прочитать данные из файла с множеством отсутствующих значений, как в этом примере:

1,2,3,4,5 6,,,7,8 ,,9,10,11 

Я использую функцию numpy.loadtxt:

 data = numpy.loadtxt('test.data', delimiter=',') 

Проблема в том, что отсутствующие значения ломают loadtxt (я получаю «ValueError: невозможно преобразовать строку в float:» , без сомнения, из-за двух или более последовательных разделителей).

Есть ли способ сделать это автоматически, с loadtxt или другой функцией, или мне нужно укусить пулю и разобрать каждую строку вручную?

2 Solutions collect form web for “Чтение данных из текстового файла с отсутствующими значениями”

Я бы, вероятно, использовал genfromtxt :

 >>> from numpy import genfromtxt >>> genfromtxt("missing1.dat", delimiter=",") array([[ 1., 2., 3., 4., 5.], [ 6., nan, nan, 7., 8.], [ nan, nan, 9., 10., 11.]]) 

и затем делайте что-нибудь с nans (измените их на что-то, используйте вместо этого маску и т. д.). Некоторые из них можно сделать inline:

 >>> genfromtxt("missing1.dat", delimiter=",", filling_values=99) array([[ 1., 2., 3., 4., 5.], [ 6., 99., 99., 7., 8.], [ 99., 99., 9., 10., 11.]]) 

Будьте осторожны, что для этого, согласно моему тесту, клетки-каркасы не обнаруживаются, а только числовые значения, поэтому, если у вас есть таблица со строками и числами, должен быть какой-то другой способ.

Мой пример:

 upeak_names.txt: id name Distance name2 Distance2 name3 Distance3 upeak-3 NOC2L -161 KLHL17 -1135 NOC2L -162 >>>table= genfromtxt('upeak_names.txt', delimiter="\t") >>>comb_table[2,] >>>array([ nan, nan, -161., nan, -1135., nan, -162.]) 
  • Как сделать мелкую копию списка в Python
  • Хороший пример реализации многопроцессорности?
  • pylint говорит: «Ненужные парнеры после ключевого слова% r»
  • Проверьте, есть ли пустое место после ключевого слова и разрыв, если он найден в python
  • Скребок Google Search с помощью Python
  • «is» оператор неожиданно ведет себя с поплавками
  • Как сохранить звук, созданный из текста как mp3 или wave в python
  • Параллелизм в python не работает правильно
  • Удаление десериализации огромной строки json для объектов python
  • python install lxml на mac os 10.10.1
  • BeautifulSoup4 stripped_strings дает мне байтовые объекты?
  • Python - лучший язык программирования в мире.