odczyt konkretnych wierszy z pliku

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Taka pętla raczej wiele nie pomoże. Chodziło mi o coś takiego:
[img]http://www.labview.pl/uploads/veir/remo ... spaces.gif[/img]
Powyższy kod rozwiązuje też problem wielokrotnych spacji między liczbami, chociaż, jak widać na Twoim obrazku, nic one nie szkodzą i funkcja Spreadsheet String To Array sobie z nimi radzi.
Pozdrawiam
PS. Obrazek jest zrobiony dla pliku o zawartości

Kod: Zaznacz cały

jeden


2


4


6

 8  trzy 1


 2


 3 4


5 6
Ostatnio zmieniony 01 lip 2008 20:14 przez jogurt_owocowy, łącznie zmieniany 1 raz.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Wielkie dzięki za pomoc. Przestudiuje przykład i pozostaje mi jeszcze jedna watpliwość.
Czy da się wybrać teraz jakoś wiersz, który chcę aktualnie wyświetlić? Próbuje zmieniać wejście (count) bloczku Read from Text File lecz to nie przyniosi dobrych rezultatów...
pozdrawiam
Ostatnio zmieniony 01 lip 2008 21:52 przez dundus, łącznie zmieniany 1 raz.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

odczyt konkretnych wierszy z pliku

Post autor: Mikrobi »

W temacie odczytu konkretnej lini
Zakladajac ze wiersze koncza sie znakiem konca lini mozesz wykorzystac klasyczny odczyt stringów z pliku i korzystajac z SpreadSheet String To Array podstawić jako znak formatowania znak konca lini. Uzyskasz tablicę której elementami będą kolejne linie. Tutaj już tylko Index Array i konkretny indeks zwróci konkretny wiersz z pliku.
Ostatnio zmieniony 02 lip 2008 09:12 przez Mikrobi, łącznie zmieniany 1 raz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Czy da się wybrać teraz jakoś wiersz, który chcę aktualnie wyświetlić?
Oczywiście da się. Wyjściową tablicę rows podłącz do klocka Index Array i podaj numer linii jako jej drugi argument. Na wyjściu otrzymasz string - kolejny, niepusty wiersz z pliku. Jeśli jest to wiersz zawierający liczby, to za pomocą SpreadSheet String To Array możesz go zamienić na tablicę liczb.
Cały czas mówimy o odczycie jednego, konkretnego wiersza (bo o to pytałeś), więc jeśli będziesz chciał wczytać do tablicy doubli sekcję WTRYSK z pliku jaki pokazałeś na początku, to będzie trzeba się trochę pogimnastykować albo zrobić to inaczej.
Ostatnio zmieniony 02 lip 2008 11:42 przez jogurt_owocowy, łącznie zmieniany 1 raz.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Wlasnie chodzi o to, że bede wczytywał około 6 wierszy jako wiersze pojedyńcze plus takie sekcje jak WTRYSK (10 wierszy na 10 kolumn), których będzie 3.
Reasumując.
6 wierszy pojedyńczych
3 sekcje (10 na 10)
Nie będe wczytywał innych znaków jak liczby.

pozdrawiam
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Ok, więc wróciliśmy do punktu wyjścia.
Zamieść te pliki, które chcesz odczytywać (nie obrazki plików, tylko pliki).

Pozdrawiam
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

Re: odczyt konkretnych wierszy z pliku

Post autor: dundus »

Tu jest plik silnik.txt To co chcę odczytać, zaznacze wytłuszczoną czcionką. Wiersze już odczytuje tylko mam problem z sekcjami (kilka wierszy razem)
===
OBROTY START [obr/min]
==========================

625
1250
1875
2500
3125
3750
4375
5000
5623
6250
6875
7500
8123
8750
9375 10000
===
OBROTY END
======================================
===
GAZ START [%]
===================================

6

12

18

25

31

37

43

50

56

62

68

75

81

87

93
100
===
GAZ END
=========================================
I jeszcze sekcję:wtrysk, zaplon, moc. (odczytuje tylko wartości - czyli same 10-tki, 13,5 i 13,5)
===
WTRYSK START [ms]
=============================== 10.0.... . . . 10.0.... ===
WTRYSK END
======================================
===
ZAPLON START [%]
================================ 13,5.... . . . 13.5.... ===
ZAPLON END
======================================
===
MOC START [%]
================================ 13,5.... . . . 13.5.... ===
MOC END
======================================
pozdrawiam i z góry dziękuje
Ostatnio zmieniony 05 lip 2008 08:40 przez dundus, łącznie zmieniany 5 razy.
Awatar użytkownika
bartus
Posty: 141
Rejestracja: 07 maja 2007 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław/Żory

odczyt konkretnych wierszy z pliku

Post autor: bartus »

hmm takie pytanie, czy format pliku jest ustalony? czy npt mozesz go sobie zmienic?

wtedy moze warto by go bylo porozdzielac na sekcje i odczytywac kolejne sekcje/ klucze ?
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic :)
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Format pliku będzie jeden i musi być jeden bo w nim będą zapisywane dane z innego programu

pozdrawiam
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Jeśli format pliku jest stały, to najprościej będzie do rozwiązania powyżej dołożyć nowe klocki w taki sposób
[img]http://www.labview.pl/uploads/veir/remo ... ces_cd.gif[/img]
Wejścia index i length klocka Array Subset określają, które wiersze zawierają interesującą Cię tablicę.
W powyższym przykładzie (dla pliku jaki dołączyłeś) wczytywana jest sekcja ZAPLON zaczynająca się od wiersza 28 (licząc od zera) i mająca dane w 16 wierszach.
Pozdrawiam
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Ok, teraz wszystko działa tak jak chciałem:)

pozdrawiam i dzieki jeszcze raz za pomoc
ODPOWIEDZ