Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

CSV-Datei Komma durch Semikolon ersetzen

Mitglied: FalkIT

FalkIT (Level 1) - Jetzt verbinden

19.02.2015, aktualisiert 20.02.2015, 3284 Aufrufe, 8 Kommentare

Hi Zusammen,
ich suche eine Möglichkeit in einer Komma getrennten CSV Datei alle Kommas die als Trenner dienen durch ein Semikolon zu ersetzen.
Das Problem hierbei ist, dass in der Datei auch Komma getrennte Werte auftauchen, bei denen kein Semikolon gesetzt werden Darf.

Bsp:

aus
"Artikel","Menge","Preis"
"Hammer","10","1,50"

soll
"Artikel";"Menge";"Preis"
"Hammer";"10";"1,50"

werden. Das ganze sollte automatisch ablaufen, also nicht Excel starten und die Datei mit einem anderen Trennzeichen abspeichern (fall Excel diese Funktion bietet).
Ist sicherlich ein Problem, welches häufiger auftritt, hat hier jemand eine Lösung?

Danke schon mal

Falk
Mitglied: Xaero1982
19.02.2015 um 20:09 Uhr
Moin,

nichts für Ungut, aber google?
Richtig, es tritt häufiger auf und wurde hier schon xx mal diskutiert.

Und wenn du einen String suchst, der das besagt Komma bei "1,5" nicht ersetzt nimmst du "," und ersetzt es durch ";" Denn 1,5 hat kein ","

Grüße
Bitte warten ..
Mitglied: FalkIT
20.02.2015 um 09:41 Uhr
Moin Xaero,
natürlich habe ich bei google schon nachgesehen, aber nichts gefunden was mein Problem wirklich löst.
Deine Lösung alle "," zu ersetzen hilft mir nicht weiter, da es natürlich auch Datensätze gibt, bei denen einige Werte nicht gefüllt sind.
Zum besseren Verständnis noch ein Beispiel:

"Artikel","Menge","Preis"
"Hammer","10","1,50"
"Schraube",,"0,80"

Trotzdem danke für die schnelle Antwort
Bitte warten ..
Mitglied: 114757
LÖSUNG 20.02.2015, aktualisiert um 13:35 Uhr
Moinsens,
as simple as that
01.
powershell -Executionpolicy Bypass -command "&{$path = 'c:\daten.csv'; (Import-csv $path -Delimiter ',' -Encoding Default) | Export-Csv $path -Delimiter ';' -NoType -Encoding Default}"
Gruß jodel32
Bitte warten ..
Mitglied: FalkIT
20.02.2015 um 11:59 Uhr
Hi Jodel,
danke für die Antwort, wie ich den code verstehe geht das auf jeden Fall in die richtige Richtung, leider spuckt er mir aber einen Fehler aus. Von der Powershell habe ich leider keine Ahnung, kann daher nicht viel mit der Meldung bzw. mit den Befehlen in deiner Antwort anfangen. Kannst du hier noch einmal Helfen?
Folgende Fehlermeldung wird ausgegeben:
01.
Import-Csv : Es wurde kein Parameter gefunden, der dem Parameternamen "Encoding" entspricht. 
02.
Bei Zeile:1 Zeichen:69 
03.
+ &{$path = 'c:\daten.csv'; (Import-csv $path -Delimiter ',' -Encoding <<<<  Default) | Export-Csv 
04.
 -NoType -Encoding Default} 
05.
    + CategoryInfo          : InvalidArgument: (:) [Import-Csv], ParameterBindingException 
06.
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.ImportCsvCommand
Danke schon mal!

Falk
Bitte warten ..
Mitglied: 114757
LÖSUNG 20.02.2015, aktualisiert um 14:37 Uhr
Folgende Fehlermeldung wird ausgegeben:
dann hast du noch eine alte Powershell installiert (PS2.0), indem Fall lasse den Parameter -Encoding einfach weg:
01.
powershell -Executionpolicy Bypass -command "&{$path = 'c:\daten.csv'; (Import-csv -Path $path -Delimiter ',') | Export-Csv -path $path -Delimiter ';' -NoTypeInformation -Encoding Default}"
p.s. den Pfad zur CSV-Datei musst du natürlich anpassen ;-P
Bitte warten ..
Mitglied: FalkIT
20.02.2015, aktualisiert um 13:46 Uhr
Vielen Dank, macht genau was es soll!!

Gruß
Falk

edit:
Leider doch noch nicht ganz, ich habe den selben Befehl nun auf die eigentliche CSV-Datei angewandt und bekomme folgende Meldung:
01.
Import-Csv : Das Argument kann nicht verarbeitet werden, da der Wert des Arguments "name" ungültig ist. Ändern Sie den 
02.
Wert des Arguments "name", und führen Sie den Vorgang erneut aus. 
03.
Bei Zeile:1 Zeichen:60 
04.
+ &{$path = 'C:\Users\Ternum\Desktop\daten2.csv'; (Import-csv <<<<  $path -Delimiter ',') | Export-Csv $path -Delimiter 
05.
 ';' -NoType} 
06.
    + CategoryInfo          : InvalidArgument: (:) [Import-Csv], PSArgumentException 
07.
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.ImportCsvCommand
Das "Argument "name"" gibt es weder in der CSV noch in deinem Befehl (zumindest nicht für mich ersichtlich). Hast du noch eine Idee wo hier das Problem liegt.

Danke!
Bitte warten ..
Mitglied: 114757
20.02.2015 um 14:43 Uhr
Das muss an deiner CSV-Datei liegen, vermutlich ist sie irgendwo fehlerhaft formatiert oder hat doppelte Spaltennamen.
Bitte warten ..
Mitglied: FalkIT
20.02.2015 um 15:04 Uhr
Das war's, das vorletzte Feld verursacht den Fehler. Ich weiß nicht, was an dem Feld falsch sein soll, aber das sollte sich ja lösen lassen.

Vielen Dank und ein schönes Wochenende!

Falk
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Tabstopp, Semikolon oder Komma in umgeleiteter Datei einfügen
Frage von patzh68Batch & Shell2 Kommentare

Hallo zusammen Habe da ein klitzekleines Problem welches ich nicht lösen kann. Folgende Batch-Datei wird ausgeführt: echo off & ...

Batch & Shell
Punkt durch Komma ersetzen
Frage von TingelTangelbatchBatch & Shell9 Kommentare

Hallo, für eine batch Datei suche ich folgende Hilfe / Code: Ich habe monatlich ca. 10 Textdatein welche Werte ...

Batch & Shell
For f - In vielen Dateien Komma durch Punkt ersetzen
gelöst Frage von alleedxBatch & Shell2 Kommentare

Hallo zusammen, ich bräuchte ein wenig Hilfe bei der Erstellung einer Batch Datei. Sie soll in einem Ordner liegen ...

Microsoft Office
VB ein bestimmtes Komma durch Punkt ersetzen
gelöst Frage von Enno13Microsoft Office4 Kommentare

Hallo Wie kann ich denn ein bestimmtest Komma durch einen Punkt ersetzten lassen über VB. Dieses Komma ist eine ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...