Auswerten von CSV-Daten, gruppieren und zählen
Hallo zusammen,
ich habe mich versucht, aber es funktioniert nicht.
Ich habe eine CSV-Liste (delimter ;), die schon einen Umfang von 30000 Sätzen haben kann und wie folgend sortiert ist.
Datum; Monat; Jahr; Quart; Leiter; JobNr; SubNr; Kennung
20191224 12 2019 4 OA 46631/19 VI p63
20191224 12 2019 4 OA 46631/19 VII p63
20191224 12 2019 4 OA 46631/19 VIII p63
20191224 12 2019 4 OA 46631/19 X p63
20191224 12 2019 4 OA 46632/19 I p63
20191224 12 2019 4 OA 46632/19 II p63
20191224 12 2019 4 OA 46632/19 III p63
20191224 12 2019 4 OA 46632/19 IV p63
20191224 12 2019 4 OA 46632/19 IX p63
20191224 12 2019 4 OA 46632/19 V p63
20191224 12 2019 4 OA 46632/19 VI p63
20191224 12 2019 4 OA 46632/19 VII p63
20191224 12 2019 4 OA 46632/19 VIII p63
20191224 12 2019 4 OA 46632/19 X p63
20191224 12 2019 4 OA 46655/19 I CD3
20191224 12 2019 4 OA 46656/19 I p63
20191224 12 2019 4 OA 46656/19 II p63
20191224 12 2019 4 OA 46656/19 III p63
20191224 12 2019 4 OA 46656/19 IV p63
20191224 12 2019 4 OA 46656/19 IX p63
20191224 12 2019 4 OA 46656/19 V p63
20191224 12 2019 4 OA 46656/19 VI p63
20191224 12 2019 4 OA 46656/19 VII p63
20191224 12 2019 4 OA 46656/19 VIII p63
20191224 12 2019 4 OA 46656/19 X p63
20191224 12 2019 4 OA 46656/19 XI p63
20191224 12 2019 4 OA 46657/19 I CD3
20191224 12 2019 4 OA 46658/19 I CD3
20191224 12 2019 4 OA 46659/19 I CD3
20191224 12 2019 4 OA 46696/19 I CD3
20191230 12 2019 4 Ma 46619/19 - CK7
20191230 12 2019 4 Ma 46619/19 - Gata3
20191230 12 2019 4 Ma 46619/19 - PSA
20191230 12 2019 4 Ma 46626/19 I CK56
20191230 12 2019 4 Ma 46626/19 I CK7
20191230 12 2019 4 Ma 46626/19 I Gata3
20191230 12 2019 4 Ma 46626/19 I p16
20191230 12 2019 4 Ma 46626/19 I P401
20191230 12 2019 4 Ma 46639/19 - CDX2
20191230 12 2019 4 Ma 46639/19 - CK20
20191230 12 2019 4 Ma 46639/19 - ZK
20191230 12 2019 4 Ma 46682/19 - Mib1
20191230 12 2019 4 Ma 46685/19 - Mib1
20191230 12 2019 4 Ma 46686/19 - Mib1
20191230 12 2019 4 Ma 46687/19 - Mib1
20191230 12 2019 4 Ma 46753/19 I CD3
20191230 12 2019 4 Ma 46770/19 I CDX2
20191230 12 2019 4 Ma 46770/19 I Chro
20191230 12 2019 4 Ma 46770/19 I CK20
20191230 12 2019 4 Ma 46770/19 I CK7
20191230 12 2019 4 Ma 46770/19 I Mib1
20191230 12 2019 4 Ma 46770/19 I Syn
20191230 12 2019 4 Ma 46775/19 I CD3
20191230 12 2019 4 MY 46462/19 I CK56
20191230 12 2019 4 MY 46462/19 I P504S
20191230 12 2019 4 MY 46462/19 II CK56
20191230 12 2019 4 MY 46462/19 II P504S
20191230 12 2019 4 MY 46466/19 III CDX2
20191230 12 2019 4 MY 46466/19 III Chrom
20191230 12 2019 4 MY 46466/19 III CK20
20191230 12 2019 4 MY 46466/19 III p53
20191230 12 2019 4 MY 46466/19 III Syn
20191230 12 2019 4 MY 46562/19 - Mib1
Ich möchte gerne eine neue zusammengefasste Liste erhalten, die alle Angaben der Felder 1-6 genauso wieder gibt.
Die verschiedenen SubNr sollen innerhalb der JobNr als einmalige SubNr (z.B. 4x III aufeinanderfolgend = nur 1x III) gezählt werden.
Der Bindestrich (-) zeigt nur an, dass keine römische Zahl vergeben wurde, wäre als nur eine Unternummer zu zählen, auch wenn sie mehrmals innerhalb der gleichen JobNr folgt. Schön wäre, wenn die Verschiedenheit der Kennungen gezählt werden können.
Bsp:
20191230 12 2019 4 MY 46462/19 I CK56
20191230 12 2019 4 MY 46462/19 I P504S
20191230 12 2019 4 MY 46462/19 II CK56
20191230 12 2019 4 MY 46462/19 II P504S
Hier sollte zusammengefasst erscheinen:
20191230 12 2019 4 MY 46462/19 2 4 2 (FallNr, 2 SubNrn, 4 Kennungen, 2 versch. Kennungen)
Bsp:
20191224 12 2019 4 OA 46631/19 VI p63
20191224 12 2019 4 OA 46631/19 VII p63
20191224 12 2019 4 OA 46631/19 VIII p63
20191224 12 2019 4 OA 46631/19 X p63
20191224 12 2019 4 OA 46631/19 4 1 1 (FallNr, 4 SubNrn, 4 Kennungen, 1 versch. Kennungen)
... wenn das als CMD-Batch funktionieren würde, wäre das genial.
ich habe mich versucht, aber es funktioniert nicht.
Ich habe eine CSV-Liste (delimter ;), die schon einen Umfang von 30000 Sätzen haben kann und wie folgend sortiert ist.
Datum; Monat; Jahr; Quart; Leiter; JobNr; SubNr; Kennung
20191224 12 2019 4 OA 46631/19 VI p63
20191224 12 2019 4 OA 46631/19 VII p63
20191224 12 2019 4 OA 46631/19 VIII p63
20191224 12 2019 4 OA 46631/19 X p63
20191224 12 2019 4 OA 46632/19 I p63
20191224 12 2019 4 OA 46632/19 II p63
20191224 12 2019 4 OA 46632/19 III p63
20191224 12 2019 4 OA 46632/19 IV p63
20191224 12 2019 4 OA 46632/19 IX p63
20191224 12 2019 4 OA 46632/19 V p63
20191224 12 2019 4 OA 46632/19 VI p63
20191224 12 2019 4 OA 46632/19 VII p63
20191224 12 2019 4 OA 46632/19 VIII p63
20191224 12 2019 4 OA 46632/19 X p63
20191224 12 2019 4 OA 46655/19 I CD3
20191224 12 2019 4 OA 46656/19 I p63
20191224 12 2019 4 OA 46656/19 II p63
20191224 12 2019 4 OA 46656/19 III p63
20191224 12 2019 4 OA 46656/19 IV p63
20191224 12 2019 4 OA 46656/19 IX p63
20191224 12 2019 4 OA 46656/19 V p63
20191224 12 2019 4 OA 46656/19 VI p63
20191224 12 2019 4 OA 46656/19 VII p63
20191224 12 2019 4 OA 46656/19 VIII p63
20191224 12 2019 4 OA 46656/19 X p63
20191224 12 2019 4 OA 46656/19 XI p63
20191224 12 2019 4 OA 46657/19 I CD3
20191224 12 2019 4 OA 46658/19 I CD3
20191224 12 2019 4 OA 46659/19 I CD3
20191224 12 2019 4 OA 46696/19 I CD3
20191230 12 2019 4 Ma 46619/19 - CK7
20191230 12 2019 4 Ma 46619/19 - Gata3
20191230 12 2019 4 Ma 46619/19 - PSA
20191230 12 2019 4 Ma 46626/19 I CK56
20191230 12 2019 4 Ma 46626/19 I CK7
20191230 12 2019 4 Ma 46626/19 I Gata3
20191230 12 2019 4 Ma 46626/19 I p16
20191230 12 2019 4 Ma 46626/19 I P401
20191230 12 2019 4 Ma 46639/19 - CDX2
20191230 12 2019 4 Ma 46639/19 - CK20
20191230 12 2019 4 Ma 46639/19 - ZK
20191230 12 2019 4 Ma 46682/19 - Mib1
20191230 12 2019 4 Ma 46685/19 - Mib1
20191230 12 2019 4 Ma 46686/19 - Mib1
20191230 12 2019 4 Ma 46687/19 - Mib1
20191230 12 2019 4 Ma 46753/19 I CD3
20191230 12 2019 4 Ma 46770/19 I CDX2
20191230 12 2019 4 Ma 46770/19 I Chro
20191230 12 2019 4 Ma 46770/19 I CK20
20191230 12 2019 4 Ma 46770/19 I CK7
20191230 12 2019 4 Ma 46770/19 I Mib1
20191230 12 2019 4 Ma 46770/19 I Syn
20191230 12 2019 4 Ma 46775/19 I CD3
20191230 12 2019 4 MY 46462/19 I CK56
20191230 12 2019 4 MY 46462/19 I P504S
20191230 12 2019 4 MY 46462/19 II CK56
20191230 12 2019 4 MY 46462/19 II P504S
20191230 12 2019 4 MY 46466/19 III CDX2
20191230 12 2019 4 MY 46466/19 III Chrom
20191230 12 2019 4 MY 46466/19 III CK20
20191230 12 2019 4 MY 46466/19 III p53
20191230 12 2019 4 MY 46466/19 III Syn
20191230 12 2019 4 MY 46562/19 - Mib1
Ich möchte gerne eine neue zusammengefasste Liste erhalten, die alle Angaben der Felder 1-6 genauso wieder gibt.
Die verschiedenen SubNr sollen innerhalb der JobNr als einmalige SubNr (z.B. 4x III aufeinanderfolgend = nur 1x III) gezählt werden.
Der Bindestrich (-) zeigt nur an, dass keine römische Zahl vergeben wurde, wäre als nur eine Unternummer zu zählen, auch wenn sie mehrmals innerhalb der gleichen JobNr folgt. Schön wäre, wenn die Verschiedenheit der Kennungen gezählt werden können.
Bsp:
20191230 12 2019 4 MY 46462/19 I CK56
20191230 12 2019 4 MY 46462/19 I P504S
20191230 12 2019 4 MY 46462/19 II CK56
20191230 12 2019 4 MY 46462/19 II P504S
Hier sollte zusammengefasst erscheinen:
20191230 12 2019 4 MY 46462/19 2 4 2 (FallNr, 2 SubNrn, 4 Kennungen, 2 versch. Kennungen)
Bsp:
20191224 12 2019 4 OA 46631/19 VI p63
20191224 12 2019 4 OA 46631/19 VII p63
20191224 12 2019 4 OA 46631/19 VIII p63
20191224 12 2019 4 OA 46631/19 X p63
20191224 12 2019 4 OA 46631/19 4 1 1 (FallNr, 4 SubNrn, 4 Kennungen, 1 versch. Kennungen)
... wenn das als CMD-Batch funktionieren würde, wäre das genial.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 626312
Url: https://administrator.de/forum/auswerten-von-csv-daten-gruppieren-und-zaehlen-626312.html
Ausgedruckt am: 14.04.2025 um 07:04 Uhr
3 Kommentare
Neuester Kommentar
Moin,
mit Powershell:
Gruß Thomas
mit Powershell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$Source = "C:\Test\in.csv"
$Target = "C:\Test\out.csv"
# Quelle als CSV-Datei Importieren
$CSV = Import-CSV -Delimiter ';' $Source
# Job-Nummern gruppieren
$Jobs = $CSV | Group-Object -Property 'JobNr'
# Für jeden Job neue Liste erstellen
$Output = Foreach ($Job in $Jobs) {
# Anzahl verschiedene Sub-Nummern
$SubNrn = ($Job.Group | Group-Object -Property 'SubNr').Name.count
# Anzahl verschiedene Kennungen
$vKennungen = ($Job.Group | Group-Object -Property 'Kennung').Name.Count
# Neue Liste ausgeben
$Job.Group | Select-Object Datum,Monat,Jahr,Quart,Leiter,JobNr,@{n='SubNrn';e={$Subnrn}},@{n='Kennungen';e={$Job.Count}},@{n='versch. Kennungen';e={$vKennungen}}
}
# Csv-Datei ausgeben
$Output | Export-Csv -Delimiter ';' -NoTypeInformation $Target
Gruß Thomas
Zitat von @Experiment626:
Ich habe eine CSV-Liste (delimter ;), die schon einen Umfang von 30000 Sätzen haben kann
du willst aber schon, dass wenn du das Skript heute startest, es dieses Jahr noch fertig mit der Berechnung wird, oder?!Ich habe eine CSV-Liste (delimter ;), die schon einen Umfang von 30000 Sätzen haben kann
Gut gemeinter Rat: Vergiss das mit der Batch gleich mal wieder!