Czytanie bloków danych z pliku w Pythonie
Jestem nowym użytkownikiem Pythona i próbuję odczytać „bloki” danych z pliku. Plik jest napisany w następujący sposób:
<code># Some comment # 4 cols of data --x,vx,vy,vz # nsp, nskip = 2 10 # 0 0.0000000 # 1 4 0.5056E+03 0.8687E-03 -0.1202E-02 0.4652E-02 0.3776E+03 0.8687E-03 0.1975E-04 0.9741E-03 0.2496E+03 0.8687E-03 0.7894E-04 0.8334E-03 0.1216E+03 0.8687E-03 0.1439E-03 0.6816E-03 # 2 4 0.5056E+03 0.8687E-03 -0.1202E-02 0.4652E-02 0.3776E+03 0.8687E-03 0.1975E-04 0.9741E-03 0.2496E+03 0.8687E-03 0.7894E-04 0.8334E-03 0.1216E+03 0.8687E-03 0.1439E-03 0.6816E-03 # 500 0.99999422 # 1 4 0.5057E+03 0.7392E-03 -0.6891E-03 0.4700E-02 0.3777E+03 0.9129E-03 0.2653E-04 0.9641E-03 0.2497E+03 0.9131E-03 0.7970E-04 0.8173E-03 0.1217E+03 0.9131E-03 0.1378E-03 0.6586E-03 and so on </code>
Teraz chcę móc określić i odczytać tylko jeden blok danych z tych wielu bloków. używamnumpy.loadtxt('filename',comments='#')
aby odczytać dane, ale ładuje cały plik za jednym razem. Szukałem w Internecie i ktoś stworzył łatkę dla procedury numpy io, która określała bloki odczytu, ale nie jest w głównym nurcie numpy.
Znacznie łatwiej jest wybrać bloki danych w gnuplot, ale musiałbym napisać procedurę do wykreślania funkcji dystrybucji. Gdybym potrafił odczytać konkretne bloki, byłoby znacznie łatwiej w Pythonie. Przenoszę też wszystkie moje kody wizualizacji na Pythona z IDL i gnuplot, więc miło będzie mieć wszystko w Pythonie, zamiast rozrzucać rzeczy w wielu pakietach.
Pomyślałem o wywołaniu gnuplot z poziomu pythona, kreśląc blok do tabeli i przypisując wyjście do jakiejś tablicy w python. Ale nadal zaczynam i nie mogłem zrozumieć składni, aby to zrobić.
Wszelkie pomysły, wskazówki do rozwiązania tego problemu byłyby bardzo pomocne.