Labelausgabedatei

  • Moin Moin zusammen.
    Ich habe eine List (from.csv) die sieht aus wie folgt:

    *) Arraywerte obenhalb und links angegeben

    Nun möchte ich die Ausgabe aber wie folgt in die "ausgabe.csv" haben,
    damit diese eingelesen werden kann und dann Labels gedruckt werden
    können.
    Die "ausgabe.csv" soll dan so aussehen, wobei zwischen die Labels die
    Leerzeile zwingend notwenig ist.

    Die Zahnzahl der späteren Labels liegt zwischen 10 Stk. und 250 Stk.

    Hat sich jemand schon mal mit dem Umwandeln für Labeldruck beschäftigt
    und könnte mir etwas helfen?

    LG und einen sonnigen Frühling !!!

    L I N A

    Dateien

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    3 Mal editiert, zuletzt von Alina (8. April 2015 um 14:26) aus folgendem Grund: Rückmeldung: Thema abgeschlossen

  • Ich würde eine Zeile einlesen mit FileReadLine und dann diese mit z.B. _StringExplode() unter Verwendung des '|' als Trenner in ein Array splitten.
    Das solange wiederholen bis in dem Array die ganze Datei eingelesen und aufbereitet ist.
    Jetzt kannst du eig. einfach mit einer Schleife und den Infos aus dem erzeugten Array eine ausgabe.csv erzeugen.
    Alternativ zum "manuellen" einlesen gibt es noch ein CSV-UDF. Habe die selber noch nie genutzt aber ich denke die bietet
    auch für deinen Fall entsprechende Funktionen.

    ~IRC: irc.afterworkchat.de #autoit

    Einmal editiert, zuletzt von Photon (7. April 2015 um 18:02)

  • Ich denke, das sollte kein großes Problem darstellen. Kannst Du mal eine Beispieldatei hochladen?

    Datei ist im ersten Beitrag unten angehängt. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    • Offizieller Beitrag

    Wenn wirklich alle Daten so sind, wie in dem Beispiel, dann geht es so:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <Array.au3>
    $sFile = FileRead(@ScriptDir & '\from.txt')
    $aData = StringRegExp($sFile, '(\d{2}\.\d{2}\.\d{4}).+(\d{7}).+(\d{3})', 3)
    ;~ _ArrayDisplay($aData)
    $sOut = ''
    For $i = 0 To UBound($aData) - 1 Step 3
    $sOut &= $aData[$i] & @CRLF
    $sOut &= $aData[$i + 1] & @CRLF
    $sOut &= $aData[$i + 2] & @CRLF & @CRLF
    Next
    $hFile = FileOpen(@ScriptDir & '\ausgabe.csv', 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sOut)
    FileClose($hFile)
    EndIf

    [/autoit]

    Wenn die Zahlen aber nicht immer 7stellig / 3stellig sind, dann vielleicht lieber so:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <Array.au3>
    $sFile = FileRead(@ScriptDir & '\from.txt')
    $aData = StringSplit($sFile, @CRLF, 3)
    ;~ _ArrayDisplay($aData)
    Global $sOut = '', $aTmp
    For $sLine In $aData
    If $sLine <> '' Then
    $aTmp = StringSplit($sLine, '|', 2)
    $sOut &= $aTmp[0] & @CRLF
    $sOut &= $aTmp[2] & @CRLF
    $sOut &= $aTmp[3] & @CRLF & @CRLF
    EndIf
    Next
    $hFile = FileOpen(@ScriptDir & '\ausgabe.csv', 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sOut)
    FileClose($hFile)
    EndIf

    [/autoit]
  • Lösungen sind BEIDE super! Danke !!!

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl