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, 3378 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
Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

VB for Applications
gelöst VBA Skript zum Import von CSV-Dateien (8)

Frage von Toepfi zum Thema VB for Applications ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

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

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...