none
Werte in CSV Dateien manipulieren RRS feed

  • Frage

  • Hallo zusammen,

    ich würde per Powershell gerne einzelne Zellen in CSV Dateien verändern.

    Aber auch hier hat unser Zeichner Sepp Arnemann wieder einen Schlauch versteckt auf dem ich stehe.

    Also, ich möchte einen Wert, der x mal vorkommt von BlaBla11 in Lololo333 ändern.

    Habt ihr hier eine Idee?

    Dienstag, 21. August 2018 07:33

Antworten

Alle Antworten

  • Habt ihr hier eine Idee?

    Sogar mehrere :-)

    Du könntest auf die CSV-Struktur einmal pfeifen und Zeile für Zeile ersetzen (mit evtl. unerwünschten Nebenwirkungen):

    Get-Content c:\temp\schlauch.csv | foreach {$_ -replace "Blabla11","Lololo333"} | Set-Content c:\temp\schlauch2.csv
     

    Du könntest aber, wenn es nur um Werte in einem bestimmten Feld geht, auch sauber arbeiten:

    Import-CSV c:\temp\schlauch.csv | foreach {$_.feld7 = $_.feld7 -replace "Blabla11","Lololo333"; $_} | Export-CSV c:\temp\schlauch3.csv


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> https://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    In theory, there is no difference between theory and practice. In practice, there is.

    Dienstag, 21. August 2018 08:32
  • Hallo Evgenij,

    vielen Dank für Deine Hilfe.

    Ich musste die erste Lösung nutzen, da der Replace an verschiedenen Zellen vorgenommen werden musste.Nur in der Pipe direkt hat es nicht funktioniert, da die Datei ja noch im Zugriff war, und somit nicht geschrieben werden konnte.Mit dem Zwischenschritt einer Erstellung einer neuen Datei und dem anschließenden Umbenennen der Hilfsdatei hat es dann funktioniert.

    Viele Grüße aus Hamburg

    Tim

    Dienstag, 21. August 2018 10:32
  • Ich musste die erste Lösung nutzen, da der Replace an verschiedenen Zellen vorgenommen werden musste.Nur in der Pipe direkt hat es nicht funktioniert, da die Datei ja noch im Zugriff war, und somit nicht geschrieben werden konnte.

    Bei mir ist die Ausgabedatei ja auch anders benannt ;-)

    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> https://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    In theory, there is no difference between theory and practice. In practice, there is.

    Dienstag, 21. August 2018 16:25
  • Mit dem Kopf gerade auf den Schreibtisch geschlagen.

    Ja, bin echt zu blind. Ich hab die Antwort gelesen, direkt umgesetzt und halt aus dem Kopf runtergetippt.

    Vielen Dank noch mal.

    Dienstag, 21. August 2018 18:32