• Offizieller Beitrag

    Hallo Leute,

    ich suche einen CSV-Editor, der zuvor festgelegte Änderungen automatisch durchführen kann.

    Problemstellung:

    Ich bekomme regelmäßig CSV-Dateien, die mehr Daten enthalten, als gebraucht werden.

    Da die relevanten Informationen ausgedruckt werden sollen, möchte ich den ganzen überflüssigen Kram natürlich vorher loswerden.

    Ich möchte also automatisch alle Spalten, die ich nicht brauche loswerden und einige ständig wiederkehrende Zeichenketten durch Abkürzungen ersetzen (Find/Replace).

    Programme die diese Funktionen zwar beherrschen habe ich zwar gefunden, aber leider ist keins dabei gewesen, daß das automatisiert (Batchbetrieb) durchführen kann.

    Das ganze soll unter Windows laufen.


    Hat da jemand einen TIp für mich?

  • auch wenn ich als JAVA Entwickler arbeite (und es da auch nicht sehr aufwändig wäre) - mach's mit perl!

    Kurze Einarbeitungszeit, aber dann schreibt sich das von selbst (z.B. Einlasen aller Dateine eines Directories in einer Zeile..)


    viel Glück

    -------------------------------------------------------------------------------
    Suche Rechentechnik aus Deutschland, bzw. Computer Deutscher Hersteller - z.B.

    ANKER, AKKORD, CTM (CTM 70, CTM 9000, CTM 9032), DIEHL/ DDS, DIETZ, FEILER, ISE,
    HOHNER GDC, KIENZLE, KRANTZ, NIXDORF, OLYMPIA, PCS/CADMUS, RUF, SALOTA, S.E.I.,
    SIEMAG, SIEMENS, TAYLORIX, TRIUMPH ADLER - TA, WAGNER, WALTHER, WANDERER,...

    -------------------------------------------------------------------------------

  • Unter Windows würde ich ein Cygwin installieren, darin dann sed und awk nutzen.

    Als Kommandozeile hast du dann eine bash und kannst fast wie unter Linux deine Skripte laufen lassen.

    Mit awk kommst du schneller zum Ergebnis, als mit perl. Dafür ist die Programmierung nicht ganz so universell wie mit perl.

    Aber die Syntax ist für Neulinge in beiden Fällen ein Graus... So oder so.

    Suche Teile und Geräte für DEC PDP8 Systeme, DEC PDP 11/40 (Unibus) und Teletype ASR-33+ ASR-35. Sowie Zubehör, Doku usw. aus dem Umfeld.

  • Ich persönlich wär auch für awk, cut für Spalten und sed für Find&Replace würde auch gut gehen.

    Wenn Du's ohne Einarbeitung willst, geht auch Excel - mit VBA auch automatisiert.

    Das Genie beherrscht das Chaos

  • VBA auch automatisiert.

    VBA braucht aber deutlich mehr Einarbeitung als z.B. PERL - nicht BASIC selbst, aber alle schrunzigen MS-Objekte usw...

    -------------------------------------------------------------------------------
    Suche Rechentechnik aus Deutschland, bzw. Computer Deutscher Hersteller - z.B.

    ANKER, AKKORD, CTM (CTM 70, CTM 9000, CTM 9032), DIEHL/ DDS, DIETZ, FEILER, ISE,
    HOHNER GDC, KIENZLE, KRANTZ, NIXDORF, OLYMPIA, PCS/CADMUS, RUF, SALOTA, S.E.I.,
    SIEMAG, SIEMENS, TAYLORIX, TRIUMPH ADLER - TA, WAGNER, WALTHER, WANDERER,...

    -------------------------------------------------------------------------------

  • Hast du denn Zugriff auf ein awk? Dann schick mir mal ein Beispiel von dem was du machen möchtest. Vorher- Nachher.

    Wir können hier ja mal sportlich die kürzeste Kommandozeile dafür küren.

    (Klar Perl gewinnt, aber dann kann das wieder keine Sau lesen....)

    Suche Teile und Geräte für DEC PDP8 Systeme, DEC PDP 11/40 (Unibus) und Teletype ASR-33+ ASR-35. Sowie Zubehör, Doku usw. aus dem Umfeld.

  • http://gnuwin32.sourceforge.net/packages/gawk.htm


    Einfach die Binaries als ZIP downloaden und auspacken. Im BIN liegt dann gawk.exe. Das funzt in der CMD.

    Brauchst du weniger als 30s zu, bis dahin ist Exel noch gar nicht offen....

    Suche Teile und Geräte für DEC PDP8 Systeme, DEC PDP 11/40 (Unibus) und Teletype ASR-33+ ASR-35. Sowie Zubehör, Doku usw. aus dem Umfeld.

  • Anscheinend das übliche Unix Problem - die Tools sind da und mächtig, ABER: es gibt keine einfach nutzbare Oberfläche dafür. Cut z.B. ist super fürs Spalten entfernen.


    Vielleicht kannst Du auch mal bei Texteditoren schauen. Notepad++ könnte sowas "können", hat Makros und Search&Replace, ist relativ flott und v.a. zeigt dem User an, was gerade passiert ist. Und wenn man die "," vorher durch ",<tab>" ersetzt kommt auch sowas wie eine Tabelle auf den Bildschirm.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Wenn Du's ohne Einarbeitung willst, geht auch Excel - mit VBA auch automatisiert.

    Wenn schon Basic, wozu braucht man dann noch Excel? Bis man in VBA rausgefunden hat, wie man Spalten bearbeitet, hat man das längst in GWBASIC geschrieben. Alles in ein Array einlesen und eine Routine zum Umkopieren von Spalten schreiben.


    EDIT: GWBASIC läuft vermutlich nicht mehr unter Windows (ich verwende das immer in der DOSBOX). Muss man halt ein anderes Basic nehmen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    2 Mal editiert, zuletzt von detlef ()

  • GWBASIC läuft vermutlich nicht mehr unter Windows

    https://sourceforge.net/projects/pcbasic/


    PC-BASIC is a free, cross-platform interpreter for GW-BASIC, BASICA, PCjr Cartridge Basic and Tandy 1000 GWBASIC. PC-BASIC is free and open source software released under the GPLv3.


  • Code
        Columns("F:F").Select
        Selection.Delete Shift:=xlToLeft

    Wenn ich sowas in Excel mach, dann nehm ich meistens den Makrorekorder, mach's in der GUI und schau was das Makro tut.

    Das Genie beherrscht das Chaos

  • Sind es denn immer die gleichen Spalten die entfernt werden sollen ?


    Unter Unixen u.ä. würdest Du z.B. für Spalte 3 und 5 weg schreiben

    cut -f 3,5 -d "," --complement dateiname.csv

    und für die Ersetzen-Sache von xxx durch "ersetzung" z.B.

    sed s/xxx/ersetzung/g dateiname.csv


    Und beide Tools sollten auch für Win verfügbar sein. Und damit baut man sich dann 4 BatchDateien und fertsch issses.




    Schönes Tool.


    Der hat auch anderes lustiges Zeug. Etwa Password Recovery - was besonders witzig ist, wenn man das Programm von USB Stick starten kann ...

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Hallo Toast_r,


    -> "Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind."


    Hast du schon einmal Microsoft Word mit Suche/Ersetze im erweiterten Betrieb probiert?


    Dann ein kleine Macro, usw.


    Ich habe mit Word schon viele Dateien "konvertiert".


    Gruß


    Bernd

  • Bissl cut/head/tail/sed/awk, 'ne Shell, Pipes und Ausgabeumleiungen (ggf).


    Oder für Wind*ws 'nen Editor der bissl' mehr kann, bspw. Notepad2. Den habe ich schon seit Win2k (glaub ich) unter Win im Einsatz. Ansonsten (g)vim gibt es auch für Win.

    • Offizieller Beitrag

    So, ich habe das Problem gelöst.

    Sämtliche Arbeitsschritte, angefangen beim Öffnen der CSV-Datei, habe ich in Excel menügeführt abgearbeitet und mit dem Macrorecorder aufgezeichnet.

    Der erzeugt ein VBA Programm, damit ist die benötigte Syntax ohne langes rumsuchen da.

    Nachdem ich das Programm noch angepasst und erweitert habe, ist das Ergebnis tatsächlich auch für Daus benutzbar:

    Doppelklich auf die XLS-Datei, in der das Makro gespeichert ist, Makro ausführen, ausdrucken.

    Viel Einfacher geht's nicht. :)

  • So, ich habe das Problem gelöst.

    ...

    Viel Einfacher geht's nicht. :)

    Herzlichen Glückwunsch!


    Probiere die Funktion des Makros und der xls-Datei auch noch einmal auf einem anderen Rechner. Sofern das funktioniert, Glück gehabt. Evtl. meckert der aber, weil wg. Macro und möglichen Schadprogrammzeilen. Dann kannst Du mit dem Zertifikatmanager das Probelm richten.


    Gruß


    Bernd