Dodaj do ulubionych

Przeróbka pliku tekstowego z danymi

17.09.04, 13:31
Cześć.

Mam pilk z danymi, które są sformatowane następująco (przykład):
grubość = 3
szerokość = 4
masa = 7
Pól jest cała masa, rekordów jest też mnóstwo. Dane muszą być zaimportowane
do Accessa, a więc plik musi wyglać tak:
3;4;7
Pytanie: jak szybko i sprawnie przekonwertować plik na format zwykłego pliku
rozdzielanego? Nawet jeżeli w edytorze tekstu usunę opisy pól i doprowadzę do
takiego stanu:
3
4
7
To nie mam pojęcia jak zamienić plik na linię, czyli usunąć znaki końca linii.
Macie jakiś pomysł?
Obserwuj wątek
    • user0001 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 13:49
      To się aż prosi o skrypt, na przykład w pythonie, ale żeby go napisać,
      potrzebuję jeden przykładowy rekord, najlepiej razem z początkiem następnego,
      abym wiedział jak są one rozdzielone.
      • arelis Re: Przeróbka pliku tekstowego z danymi 17.09.04, 13:57
        Pozwól że wyślę Ci przykładowy rekord.
        • user0001 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 14:03
          na konto na gazeta.pl
          jako użyszkodnika wstaw mój login z tego serwisu.
        • mariuszr_77 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 14:05
          arelis napisał:

          > Pozwól że wyślę Ci przykładowy rekord.

          Przydał by się jakiś edytor bardziej zaawansowany, pzowalający no na podgląd tego pliku w trybie szestnastkowym, wtedy bardzo ładnie tam się wyłapuje znaki końca wiersza. Sam tak robiłem przy oczyszczeniu plików tekstowych z niepotrzebnych spacji, enterów i jeszcze innych dziwnych rzeczy.
          • arelis Re: Przeróbka pliku tekstowego z danymi 17.09.04, 14:14
            Jaki na przykład?
            • mariuszr_77 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 21:06
              arelis napisał:

              > Jaki na przykład?

              Pod windowsem windowsowej wersji Vi ale był trochę toporny, pod linuxem maiłem fajny edytorek ale to jeszcze kiedy Mandrake używałem i nei pamiętam jak to to się nazywało.
              • pollak Re: Przeróbka pliku tekstowego z danymi 17.09.04, 21:21
                Pod MS Windows jest vim i gvim i są całkiem całkiem. Szczerze przyznam ze w tym
                przypadku nie wiem jak zmusić vima do czegoś takiego (oczywiście vim ma
                wyszukiwanie, zamiany itp. po wyrażeniach regularnych).
    • Gość: piecyk gazowy Re: Przeróbka pliku tekstowego z danymi IP: *.tpnet.pl / *.tpnet.pl 17.09.04, 13:56
      arelis napisał:

      > To nie mam pojęcia jak zamienić plik na linię, czyli usunąć znaki końca linii.

      W Wordzie można. Ctrl + H -> Więcej -> Znaki specjalne.
    • bwv1004 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 19:41
      Czeso sie spotykam z podobnymi problemami przestawiania danych, pisze do tego
      programiki w Delphi. Latwo pisac i dziala szybko.
    • Gość: pollak Re: Przeróbka pliku tekstowego z danymi IP: *.internetdsl.tpnet.pl 17.09.04, 20:43
      W Perlu 3 minuty.
      • user0001 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 20:52
        Gość portalu: pollak napisał(a):

        > W Perlu 3 minuty.

        A po tygodniu trzy godziny na dojście do tego jak to działała ;-)
        • pollak Re: Przeróbka pliku tekstowego z danymi 17.09.04, 21:19
          user0001 napisał:

          > A po tygodniu trzy godziny na dojście do tego jak to działała ;-)


          Nie. Dlaczego tak sądzisz? Golfiarzy oglądałeś? W Perlu da się
          pisać "normalnie". :) Nie jestem jakimś tam specem od Perla, ale zapewniam, że
          można pisać bardzo przejrzyście. Tutaj wystarczy, z tego co zrozumiałem:
          1. Otworzyć plik
          2. Czytać linia po linii, wybierając kolejne pola i zapisujac gdzieś do
          struktury danych. Po zebraniu określonej liczby, zapisać wartości ze struktyry
          danych, jako jeden rekord CSV gdzieś do innego pliku. Następnie "wyczyścić"
          strukture danych i powtarzać ten krok, aż do końca pliku.
          3. Zamknąć plik

          Wszystko pod warunkiem że plik wejściowy ma stałą strukturę.
          • user0001 Re: Przeróbka pliku tekstowego z danymi 17.09.04, 22:07
            pollak napisał:

            > Nie jestem jakimś tam specem od Perla, ale zapewniam, że
            > można pisać bardzo przejrzyście.

            Pewnie się da, ale większość programów pisanych w trybie doraźnym :), składa się
            z paru idiomów perla, np:

            while (<>)
            {
            }

            oraz wyrażeń regularnych które u osoby nie obytej w kulturze uniksowej wywołują
            charakterystyczne powiększenie oczu ;-)
    • Gość: ja Re: Przeróbka pliku tekstowego z danymi IP: *.daminet.pl 17.09.04, 21:39
      Jezeli masa jest zawsze ostatnim polem to wystarczy taki skrypt w awk:
      BEGIN { sr = "horse shit"}
      BEGIN { out = "horse shit"}
      BEGIN { pom2 = "masa "}
      BEGIN { FS = "="}
      BEGIN { printf("\n")}
      {split($0,wynik)}
      { sr = wynik[1]}
      { out = wynik[2]}
      { if ( sr == pom2 ) printf("%*4$s\n",out,10);}
      { if ( sr != pom2 ) printf("%*4$s;",out,10);}
      END { print "\n"}
      Wynik działania wyglada tak(plik wejściowy złożony z kilku powtórzeń przykładu):
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      3; 4; 7
      Wystarczy przekierować wyjście do pliku i można wsadzać do Excella.
Inne wątki na temat:

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka