Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

CSV Dateien nach Spalte sortieren und in neue Datei importieren

Frage Entwicklung IDE & Editoren

Mitglied: ralfkausk

ralfkausk (Level 1) - Jetzt verbinden

24.04.2013 um 14:00 Uhr, 3546 Aufrufe, 5 Kommentare

Hallo zusammen

Folgendes möchte ich realisieren

Ich habe csv Dateien die ich mit dem Befehl CSVDE erzeugt habe.
Die Dateien enthalten informationen aus unserem AD.
Da ich fünf (5) verschiedene Domänen abfrage muss habe ich auch fünf Dateien.
Leider sind die Spalten in den einzelnen Dateien, obwohl die Abfrage immer die gleiche ist, unterschiedlich sortiert.
(Liegt wohl daran das LDAP wumpe ist wo die einzelnen Daten stehen uns keine Sorting braucht).

Ich möchte nun diese fünf Dateien in eine importieren, wobei dabei natürlich die einzelenen Spalten immer an der gleichen Stelle sein müssen.

Lässt sich sowas realisieren?
Voraussetung für das ganze Prozedere ist die Powershell


So werden die Daten erzeugt:
csvde -s server.tld -f ausgabe.txt -r "(cn=userid)" -l "attrib1,attrib2,attrib3"

Die Ausgabe sieht dann ungefähr so aus:
Datei DOM 1
DN,attrib1,attrib2,attrib3
"CN=blablabla",inhalt1,inhalt2,inhalt3

Datei DOM 2
DN,attrib3,attrib2,attrib1
"CN=blablabla",inhalt3,inhalt2,inhalt1

Datei DOM 3
DN,attrib2,attrib3,attrib1
"CN=blablabla",inhalt2,inhalt3,inhalt1


Das Ergebniss sollte so aussehen
DN,attrib1,attrib2,attrib3
"CN=blablabla",inhalt1,inhalt2,inhalt3 (Inhalt aus Datei DOM 1)
"CN=blablabla",inhalt1,inhalt2,inhalt3 (Inhalt aus Datei DOM 2)
"CN=blablabla",inhalt1,inhalt2,inhalt3 (Inhalt aus Datei DOM 3)


bedanke mich schon mal im voraus für eure Hilfe
Gruß Ralf
Mitglied: colinardo
24.04.2013, aktualisiert um 16:26 Uhr
Hallo Ralf,

hört sich schwierig zu realisieren an ist aber mit Powershell ein Einzeiler:
01.
dir "C:\ORDNER\*.csv" | Import-csv -Delimiter "," | Export-Csv "C:\ORDNER\Konsolodiert.csv" -NoTypeInformation

Grüße Uwe
Bitte warten ..
Mitglied: ralfkausk
25.04.2013 um 11:17 Uhr
Hallo Uwe

Danke für die schnelle Hilfe.
Leider funktioniert das so nicht ganz.
Hängt möglicherweise damit zusammen das ich vergessen habe etwas zu erwähnen.

Es kommt vor das einige der abgefragten Attribute bei einem oder mehrern IDs nicht vorhanden ist.
Dadurch kommt es vor das bei der Abfrage einer Domäne, wenn z.B. keiner das Attribut gesetzt hat, die ganze Spalte nicht angezeigt wird.
(Die Abfrage ist so "nett" Datenmüll zu vermeiden)

Hast Du noch 'ne Idee?
Bitte warten ..
Mitglied: colinardo
25.04.2013 um 12:57 Uhr
OK habs verstanden (blöd das CSVDE dafür keine Option bietet für den Fall das ein Wert leer ist; naja egal)
Mit folgendem Script sollte es für deinen Fall gehen. Gib nur noch die Pfade zu den CSV-Dateien der jeweiligen Domains in Zeile 1-5 an, und den Pfad für die zusammengefasste CSV in Zeile 6.
01.
$csv1 = Import-Csv "C:\domain1.csv" -Delimiter "," 
02.
$csv2 = Import-Csv "C:\domain2.csv" -Delimiter "," 
03.
$csv3 = Import-Csv "C:\domain3.csv" -Delimiter "," 
04.
$csv4 = Import-Csv "C:\domain4.csv" -Delimiter "," 
05.
$csv5 = Import-Csv "C:\domain5.csv" -Delimiter "," 
06.
$ausgabePfad = "C:\merged.csv" 
07.
 
08.
$csvArray = $csv1,$csv2,$csv3,$csv4,$csv5 
09.
$tmpMerge = $csvArray[0] 
10.
for ($i = 0; $i -le $csvArray.Length - 1;$i++){ 
11.
    $tmpMerge = Compare-Object $tmpMerge $csvArray[@($i+1)] -PassThru -Property DN -IncludeEqual| select * -ExcludeProperty SideIndicator 
12.
13.
$tmpMerge | Export-Csv $ausgabePfad -NoTypeInformation
Grüße Uwe
Bitte warten ..
Mitglied: ralfkausk
02.05.2013, aktualisiert um 11:26 Uhr
Hallo Uwe

Hat ein bisschen gedauert bevor ich weiter testen konnte.
Leider funktioniert auch diese Lösung nicht.
Leider kann ich keine Ergebnisse mitschicken (Datenschutz)
Trotzdem vielen dank für deine Hilfe.

Außerdem ist mir gerade noch was eingefallen
Da nicht alle Bentuzerkonten die gleichen Informationen enthalten fehlen teilweise Spalten.
Dadurch entstehen natürlich auch Dateien in denen z.B. die Spalte "Mobilnummer" komplett fehlt!

Sorry für die verspätete Info
Bitte warten ..
Mitglied: colinardo
02.05.2013 um 11:25 Uhr
Zitat von ralfkausk:
Leider funktioniert auch diese Lösung nicht.
Hier geht's einwandfrei ...
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst 2 Csv -Dateien zum Teil zusammenfügen (6)

Frage von Piotrney zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Datei die Zahl jede Zell in einer Spalte um 10 verkleinern (12)

Frage von ha5257 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...