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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 643462
Url: https://administrator.de/contentid/643462
Printed on: April 24, 2024 at 22:04 o'clock
6 Comments
Latest comment
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
}