DMUG-Archiv 2005

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: datei einlesen

hi,

so nun tut es, was es soll.
danke für alle tipps.

<< Utilities`BinaryFiles`
ReadData[file_String] :=
Module[{stream, res},
stream = OpenReadBinary[file];
res = ReadListBinary[stream, Single, ByteOrder -> 1];
Close[stream];
MapIndexed[{#2[[1]], #1} &, res]]

ReadData["d:/temp/09.dat"];

grüße carsten

  ----- Original Message ----- 
  From: Jens-Peer Kuska 
  To: Carsten Panzner ; Mathematica Forum 
  Sent: Monday, June 13, 2005 2:57 PM
  Subject: Re: datei einlesen


  Tja, 

  nun das ist ja nun ganz ganz schlecht --- weil es in Version
  5.0.x auch kein BinaryRead[] oder BinaryReadList[] gibt ...

  Entweder man nimmt Utilities`BinaryFiles` oder
  http://library.wolfram.com/infocenter/MathSource/354/

  http://library.wolfram.com/infocenter/Articles/1491/



  Gruß
    Jens

    ----- Original Message ----- 
    From: Carsten Panzner 
    To: Mathematica Forum ; Jens-Peer Kuska 
    Sent: Monday, June 13, 2005 2:23 PM
    Subject: Re: datei einlesen


    hi,

    hm, na gut. wußte nicht daß das relevant ist. dachte mathematica kann überall das gleiche.
    also, ich habe  mathematica v 5.0.1.0 und windows2000.

    hilft das?

    danke
    carsten
      ----- Original Message ----- 
      From: Jens-Peer Kuska 
      To: Carsten Panzner ; Mathematica Forum 
      Sent: Monday, June 13, 2005 2:01 PM
      Subject: Re: datei einlesen


      Hallo,

      nun nur Windows Maschinen unterscheiden zwischen ASCII und Binär Daten,
      wenn man nicht schreiben kann welches Betriebssystem man benutzt
      kann ich auch nicht helfen.

      Gruß
        Jens

        ----- Original Message ----- 
        From: Carsten Panzner 
        To: Mathematica Forum ; Jens-Peer Kuska 
        Sent: Monday, June 13, 2005 12:12 PM
        Subject: Re: datei einlesen


        hi,

        *g. ich hatte die option entfernt, weil sie eine fehlermeldung produzierte und sie dann an der falschen stelle 
wieder eingefügt.
        die mail sollte garnicht losgeschickt werden. 
        es müßte mittlerweile die richtige mail angekommen sein.

        hier nochmal die richtige fehlermeldung:
        unbekannte option "binaryformat" in "openread[]"
        Die fehlermeldung ist auch nochmal im anhang sichtbar.


          ----- Original Message ----- 
          From: Jens-Peer Kuska 
          To: Carsten Panzner ; Mathematica Forum 
          Sent: Monday, June 13, 2005 11:53 AM
          Subject: Re: datei einlesen


          Hallo, 

          sehe ich das richtig, das Du versuchst die
          OpenRead[_,ByteOrdering->1] zu öffnen ?
          ByteOrdering ist ein Option an BinaryReadList[]
          und nicht an OpenRead[]. Und wenn es schon sein muß
          will ich die *Eingabe* sehen und *nicht* eine vom
          FrontEnd geschredderte Fehlermeldung.

          Soll das heißen Du kannst nicht den korrekt arbeitenden
          Quelltext von mir kopieren ?

          Fabelhaft
            Gruß
              Jens

            ----- Original Message ----- 
            From: Carsten Panzner 
            To: Mathematica Forum 
            Sent: Monday, June 13, 2005 10:03 AM
            Subject: Re: datei einlesen


            \!\(\*
            RowBox[{\(OpenRead::"optx"\), \(\(:\)\(\ \)\), "\<\"Unknown option \
            \\!\\(ByteOrdering\\) in \\!\\(OpenRead[\\(\\(\\\"D:/temp/09.dat\\\", \
            \\(\\(ByteOrdering -> 1\\)\\)\\)\\)]\\). \\!\\(\\*ButtonBox[\\\"Mehr.\\\", \
            ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \
            ButtonData:>\\\"General::optx\\\"]\\)\"\>"}]\)



            $ByteOrdering gives the default setting for the ByteOrdering option in Import and Export. 


              ----- Original Message ----- 
              From: Jens-Peer Kuska 
              To: Carsten Panzner ; Mathematica Forum 
              Sent: Friday, June 10, 2005 11:22 AM
              Subject: Re: datei einlesen


              Hallo,

              uff das war ja kompliziert .

              ReadData[file_String] :=
                Module[{stream, res},
                  stream = OpenRead[file, BinaryFormat -> True];
                  res = BinaryReadList[stream, "Real32", ByteOrdering -> 1];
                  Close[stream];
                  MapIndexed[{#2[[1]], #1} &, res]
                 ]

              ReadData["h:/tmp/09.dat"]



              Gruß

                Jens



                ----- Original Message ----- 
                From: Carsten Panzner 
                To: Mathematica Forum 
                Sent: Thursday, June 09, 2005 9:53 PM
                Subject: datei einlesen


                hallo

                ich möchte eine Datei in mathematica einlesen. ein beispiel befindet sich im anhang. die datei wurde 
von labview erstellt.

                Über die Art der datei ist in der hilfe folgendes angegeben:

                "Sie können dieses VI zum Schreiben skalierter Daten, die von Datenerfassungs-VIs erfasst wurden, 
verwenden, ohne deren Darstellung zu ändern. Verwenden Sie dieses VI mit Fließkommazahlen  .. schreibt ein array von 
single-presicion numbers (SGL) to a bytestream file."

                In einem editor ist nix ausser "zeichenmüll" zu erkennen. Wenn ich die datei mit einem anderen programm 
anschaue sieht der inhalt so aus:

                Index;Y-Wert;2200;1;0
                0;992,050048828125
                1;990,1884765625
                2;987,624938964844
                3;983,810180664063
                4;981,460266113281
                5;979,873352050781
                6;979,232482910156
                7;976,821533203125
                8;975,38720703125
                9;975,02099609375
                10;974,837890625
                11;975,26513671875
                12;974,258056640625
                13;975,9365234375
                14;976,4248046875
                15;976,72998046875
                16;976,85205078125
                17;976,72998046875
                18;976,1806640625
                19;974,89892578125
                20;974,624267578125
                usw.

                die erste zeile wird in mathematica nicht benötigt und kann verworfen werden.
                die datei soll so eingelesen werden dass eine tabelle mit wertepaaren entsteht. etwa so:

                {
                {0,992.050048828125},
                {1,990.1884765625},
                {2,987.624938964844},
                {3,983.810180664063},
                {4,981.460266113281},
                {5,979.873352050781},
                {6,979.232482910156},
                {7,976.821533203125},
                {8,975.38720703125},
                {9,975.02099609375},
                {10,974.837890625},
                {11,975.26513671875},
                {12,974.258056640625},
                {13,975.9365234375},
                {14,976.4248046875},
                {15,976.72998046875},
                {16,976.85205078125},
                {17,976.72998046875},
                {18,976.1806640625},
                {19,974.89892578125},
                {20,974.624267578125},
                usw.
                }

                meine probleme sind also das entziffern des kauderwelsch in der datei, 
                das ersetzen des komma durch einen punkt,das ersetzen des semikolon durch ein und das erstellen einer 
tabelle.

                weiß da jemand weiter?

                dankedankedanke

                carsten
Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html