Mit Batch in einer CSV zwei spalten zusammenfügen
Hallo zusammen
ich komme nicht weiter
ich habe eine csv Datei welche ich nicht einlesen kann, da die Software dieses Format nicht kann
#ID Meter1
#OBIS 1-5:1.29.0
#UNIT kWh
#PERIOD h
#STATE def
Date Time Value
17.01.2021 06:15 2.04
17.01.2021 06:30 2.16
17.01.2021 06:45 2.07
17.01.2021 07:00 2.13
Das Problem ist, dass ich die Datum und Zeitwerte (dd.mm.yyyy hh:mm)in einer Spalte benötige, damit ich diese einlesen kann.
kann man die beiden Spalten ab der Zeile 7 zusammen fügen? oder aus den beiden Spalten eine neue hinten anhängen?
ich komme nicht weiter
ich habe eine csv Datei welche ich nicht einlesen kann, da die Software dieses Format nicht kann
#ID Meter1
#OBIS 1-5:1.29.0
#UNIT kWh
#PERIOD h
#STATE def
Date Time Value
17.01.2021 06:15 2.04
17.01.2021 06:30 2.16
17.01.2021 06:45 2.07
17.01.2021 07:00 2.13
Das Problem ist, dass ich die Datum und Zeitwerte (dd.mm.yyyy hh:mm)in einer Spalte benötige, damit ich diese einlesen kann.
kann man die beiden Spalten ab der Zeile 7 zusammen fügen? oder aus den beiden Spalten eine neue hinten anhängen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 643462
Url: https://administrator.de/forum/mit-batch-in-einer-csv-zwei-spalten-zusammenfuegen-643462.html
Ausgedruckt am: 30.04.2025 um 20:04 Uhr
6 Kommentare
Neuester Kommentar

Würde ich heutzutage gleich die Powershell für nehmen
Live Demo
https://tio.run/##XY9fT8IwFMWf20/RDJJJYpsWGIsjJNOMhz0IRqY@Khl3stD9ydYhBv ...
Ein- und Ausgabepfade anpassen fertig.
Wenn's unbedingt plain Batch sein muss, auch das geht natürlich ...
Gruß jokari
gc 'd:\quelle.csv' | select -skip 5 | convertfrom-csv -delimiter "`t" | select @{n='DateTime';e={"$($_.Date) $($_.Time)"}},Value | export-csv 'd:\neu.csv' -delimiter ";" -NoType
https://tio.run/##XY9fT8IwFMWf20/RDJJJYpsWGIsjJNOMhz0IRqY@Khl3stD9ydYhBv ...
Ein- und Ausgabepfade anpassen fertig.
Wenn's unbedingt plain Batch sein muss, auch das geht natürlich ...
@echo off
>"D:\neu.csv" (
echo DateTime;Value
for /f "usebackq skip=6 tokens=1-3" %%a in ("d:\quelle.csv") do echo.%%a %%b;%%c
)

lrgendwie funktoiniert es noch nicht.
Klar wenn man die essentiellen Dinge wie Delimiter usw nicht postet ... Pass den Delimiter auf ";" an und schon lüppt dat ...ls 'D:\quelle' -File *.csv | %{
(gc $_.Fullname -Head 5) + ((gc $_.Fullname) | select -skip 5 | convertfrom-csv -delimiter ";" | select @{n='Date Time';e={"$($_.Date) $($_.Time)"}},Value | ConvertTo-CSV -delimiter ";" -NoType) | sc $_.FullName
}