Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 3202 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

VB for Applications
gelöst csv Dateien als Text importieren (7)

Frage von Bacchida zum Thema VB for Applications ...

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

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...