Möglichkeit per Batch Datensätze zu trennen
Guten Abend,
ich suche mal Euren Rat hier in der Runde, vielleicht kann mir wer helfen?
Eine TXT Datei sieht wie folgt aus:
Jetzt würde ich gerne die Werte wie folgt trennen, damit ich diese weiter bearbeiten kann:
(Dabei soll anhand der letzten Spalte: Firma 1, Firma 2...etc. die Werte wie folgt aufgeteilt werden. Kann das Batch abbilden?)
ich suche mal Euren Rat hier in der Runde, vielleicht kann mir wer helfen?
Eine TXT Datei sieht wie folgt aus:
Muster123 GmbH;1;12;123;1234;12345;123456;1234567;12345678;123456789;12345556789;12345556789;54322782567;62458853787;3486320864;3564268;Firma 1;
Muster123345 GmbH;1;12;123;1234;12345;123456;1234567;12345678;123456789;12345556789;12345556789;54322782567;62458853787;3486320864;3564268;Firma 2;
Jetzt würde ich gerne die Werte wie folgt trennen, damit ich diese weiter bearbeiten kann:
(Dabei soll anhand der letzten Spalte: Firma 1, Firma 2...etc. die Werte wie folgt aufgeteilt werden. Kann das Batch abbilden?)
Muster123 GmbH;1;;;;;;;;;;;;;;;
Muster123 GmbH;12;;;;;;;;;;;;;;;
Muster123 GmbH;123;;;;;;;;;;;;;;;
Muster123 GmbH;1234;;;;;;;;;;;;;;;
Muster123 GmbH;12345;;;;;;;;;;;;;;;
Muster123 GmbH;123456;;;;;;;;;;;;;;;
...
...
...
Muster123345 GmbH;3564268;;;;;;;;;;;;;;;
Muster123345 GmbH;1;;;;;;;;;;;;;;;
Muster123345 GmbH;12;;;;;;;;;;;;;;;
Muster123345 GmbH;123;;;;;;;;;;;;;;;
Muster123345 GmbH;1234;;;;;;;;;;;;;;;
Muster123345 GmbH;12345;;;;;;;;;;;;;;;
Muster123345 GmbH;123456;;;;;;;;;;;;;;;
...
...
...
Muster123345 GmbH;3564268;;;;;;;;;;;;;;;
Please also mark the comments that contributed to the solution of the article
Content-Key: 602677
Url: https://administrator.de/contentid/602677
Printed on: April 19, 2024 at 10:04 o'clock
3 Comments
Latest comment
Moin,
ist das Absicht, dass in Zeile 10 der höchste Wert, des zweiten DS steht, oder ein Versehen?
Müssen die Semikola da hin? Haben die Spalten Namen?
Das macht man nur mit Batch, wenn man entweder über 60 ist oder schwer masochistisch. Dafür gibt es Powershell. Ungefähr so:
hth
Erik
ist das Absicht, dass in Zeile 10 der höchste Wert, des zweiten DS steht, oder ein Versehen?
Müssen die Semikola da hin? Haben die Spalten Namen?
Das macht man nur mit Batch, wenn man entweder über 60 ist oder schwer masochistisch. Dafür gibt es Powershell. Ungefähr so:
PARAM (
$path, # Pfad auf die Originaldatei
$outpath, #Pfad auf die Ausgabe
$delimiter = ";"
)
$numberOfColumns = Get-Content $path |
ForEach-Object{($_.split($delimiter)).Count} |
Measure-Object -Maximum |
Select-Object -ExpandProperty Maximum
$csv = Import-Csv $path -Header (1..$numberOfColumns) -Delimiter $delimiter -Encoding utf8
foreach($dataset in $csv) {
$i=2
while($i -lt $numberOfColumns-1) {
$newData = New-Object PSObject -Property @{
'Wert' = $dataset.$i
'Firma' = $dataset.1
}
$newData | Export-Csv $outpath -Append -Force -Encoding UTF8 -Delimiter ";" -NoTypeInformation
$i++
}
}
hth
Erik
Zitat von @freshman2017:
Moin Erik,
die Absicht ist es, dass in der ersten Zeile der Wert aus der zweiten Spalte steht...
...in der zweiten Zeile in der zweiten Spalte der Wert aus der dritten Spalte...
...in der dritten Zeile in der zweiten Spalte der Wert aus der vierten Spalte... usw.
Moin Erik,
die Absicht ist es, dass in der ersten Zeile der Wert aus der zweiten Spalte steht...
...in der zweiten Zeile in der zweiten Spalte der Wert aus der dritten Spalte...
...in der dritten Zeile in der zweiten Spalte der Wert aus der vierten Spalte... usw.
Schon klar. Genau das macht mein Skript. Was ist mit den Semikola und was ist mit den Spaltenüberschriften?