2013-05-20 12 views
10

Chcę odczytać dane z wielu plików, które chcę użyć do drukowania (matplotlib).Czytanie tylko 1 kolumny z pliku przy użyciu funkcji loadtxt() NumPy

Znalazłem funkcję loadtxt(), którą mogę użyć do tego celu. Jednak chcę tylko czytać w jednej kolumnie z każdego pliku.

Jak to zrobić? następujące polecenie działa dla mnie, jeśli czytam w co najmniej 2 kolumny, na przykład:

numpy.loadtxt('myfile.dat', usecols=(2,3)) 

Ale

numpy.loadtxt('myfile.dat', usecols=(3)) 

rzucał błąd.

+0

Więcej załadunku zaawansowany tekstowym (np manipulacyjny brakujących wartości) można również użyć NumPy w [genfromtxt] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt. html) – Sicco

Odpowiedz

15

Potrzebny jest przecinek po 3, aby powiedzieć Pythonowi, że (3,) jest krotką. Python interpretuje wartość (3) na taką samą wartość, jak int 3, a loadtxt żąda argumentu typu sekwencji dla usecols.

numpy.loadtxt('myfile.dat', usecols=(3,)) 
+0

Ahh, nie myślałem o tym. Po raz pierwszy korzystam z NumPy, dzięki! –

+6

Lub 'usecols = [3]' jeśli nie chcesz używać przecinka. – askewchan

Powiązane problemy