Top-Themen

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
GELÖST

Powershell .csv export und excel import

Frage Entwicklung Batch & Shell

Mitglied: playmen

playmen (Level 1) - Jetzt verbinden

26.02.2015, aktualisiert 27.02.2015, 2121 Aufrufe, 12 Kommentare

Hallo

Ich möchte gerne aus einer bestehenden CSV Daten mit Powershell Exportieren und diesen Daten einzeln einer Variabel zuweisen um diese werde verwenden zu können.
Das habe ich bereits getestet:

$Users = Import-Csv "C:\Temp\textfile.csv" -Delimiter ';'
$Users | Select-Object Check

Mein hauptskript hat über 1500 Zeilen Code und ich brauche nur noch diese Funktion.

Ich muss Daten aus dem CSV Auslesen, diesen Daten einer Variabel zuteilen das ich diese einzeln in eine Excel mit dem Befehl $Checkliste1.Cells.Item(1,2) = $var_1
$var_1 sollte eben der Wert aus der CSV sein

Danke im voraus

Mitglied: colinardo
26.02.2015, aktualisiert um 16:42 Uhr
Hallo playmen,
das ist kein Problem, welchen Datensatz benötigst du denn aus deiner CSV-Datei ?
Am besten du postest einen kleinen Ausschnitt deiner CSV-Datei mit Überschriften
(Bitte nutze Code-Tags für deinen Quellcode: <code> Quellcode </code>.)

Beispiel
01.
$Users = Import-Csv "C:\Temp\textfile.csv" -Delimiter ';' 
02.
$var_1 = $Users | ?{$_.Username -eq 'Max Muster'} | select -ExpandProperty Check
Grüße Uwe
Bitte warten ..
Mitglied: playmen
26.02.2015 um 16:46 Uhr
Hallo
Ich benötige aus der CSV Datei immer die 1. und die 2. Spalte.
In der 1. steht Prüfkriterium und in der 2. Status(soll)
Bei Prüfkriterium soll z.B. Hardware oder Freier Speicher stehen und bei Status(soll) stehen Werte wie z.B. Grafikkarte OK oder > als 500GB
Bitte warten ..
Mitglied: colinardo
26.02.2015, aktualisiert um 16:52 Uhr
Zitat von playmen:
Ich benötige aus der CSV Datei immer die 1. und die 2. Spalte.
In der 1. steht Prüfkriterium und in der 2. Status(soll)
Welche Spaltennamen haben diese Spalten ? Und brauchst du diese von allen Datensätzen oder nur bestimmten ?
Wie soll die Variable als Ergebnis aussehen Array/ String ?
Bitte warten ..
Mitglied: playmen
26.02.2015 um 17:02 Uhr
Hallo
Hier ein Screenshot
http://www.bilderload.net/bild-csvPNG-68589.htm
am besten als String
Bitte warten ..
Mitglied: colinardo
26.02.2015, aktualisiert um 17:12 Uhr
Eine Excel-Datei mit den beiden Spalten kannst du direkt so erzeugen
01.
$Users = Import-Csv "C:\Temp\textfile.csv" -Delimiter ';' 
02.
$Users | select "Pruefkriterium","Soll (Status)" | export-csv "C:\test.csv" -NoType -Delimiter ";" -Encoding UTF8
Die kannst du dann direkt in Excel öffnen.

Ansonsten hast du nicht genug Infos geliefert in welcher Umgebung du programmierst / GUI ?. Es gibt hier so viele Möglichkeiten .... Denk immer daran das wir hier nicht vor deinem Script sitzen, es also nicht kennen !
Bitte warten ..
Mitglied: colinardo
26.02.2015, aktualisiert um 17:14 Uhr
Wenn du nicht weißt wie man eine CSV-Datei Zeile für Zeile mit einer foreach-Schleife durchläuft, das geht so
01.
$Users = Import-Csv "C:\Temp\textfile.csv" -Delimiter ';'  
02.
$users | %{ 
03.
    $_.Spaltenname1 
04.
    $_.Spaltenname2 
05.
}
hier wird für jede Zeile deiner CSV-Datei der Wert aus der jeweiligen Spalte ausgegeben. (Die Spaltennamen musst du hier natürlich anpassen)
Bitte warten ..
Mitglied: playmen
26.02.2015 um 17:14 Uhr
sollte gehen, tut es leider nicht

mit der ursprungs csv passiert das:
http://www.bilderload.net/bild-csv_originalPNG-68590.htm

die csv datei in die geschrieben wird sieht so aus:

http://www.bilderload.net/bild-csv_nacgPNG-68591.htm
Bitte warten ..
Mitglied: colinardo
26.02.2015, aktualisiert um 17:29 Uhr
Oh man, die Bilder bringen mir hier gar nichts. Beschreibe bitte mal vernünftig deine Ausgangslage mit zwei Original-Zeilen (mit der Überschriftenzeile) deiner CSV-Datei und was du "wie" "wo" gespeichert haben willst!! Das ist essentiell um dir hier effektiv helfen zu können. Denn es macht einen riesen Unterschied ob die Quelldaten eine Überschriftenzeile haben oder eben nicht ....
Wir sitzen hier ja nicht vor deinem Script !! Danke.

Für den Fall das deine CSV-Datei keine Überschriftenzeile besitzt, machst du dies so:
01.
$Users = Import-Csv "C:\Temp\textfile.csv" -Delimiter ';' -Header "1","2" 
02.
$Users | select "1","2" | export-csv "C:\test.csv" -NoType -Delimiter ";" -Encoding UTF8
Bitte warten ..
Mitglied: playmen
27.02.2015 um 08:32 Uhr
Hallo colinardo

Sorry das ich erst jetzt schreibe..
Ich erkläre dir mal was mein Skript machen soll.
Wenn man das Skript Startet öffnet sich eine Shell (ohne GUI demnach).

Der Sinn und Zweck ist ein kompliziertes Checklisten System mit Powershell abzulösen.
Das ganze funktioniert so:
1. Abfrage nach dem Namen des Techniker
2. Kundenname eingeben (überprüft ob der Kunde existiert.) Der Kunde ist bei uns einen Ordner welcher sich bei "T:\Kunden" befindet.
3. Jeder Kunde hat einen "23 Wartung" Ordner und da drin befindet sich ein weiterer Ordner mit dem "MonatJahr" und in diesem sind die einzelnen Server aufgelistet.
4. Der Techniker gibt an welchen Kunden (Punkt 2) und welchen Server er auswählen will (denjenigen für den er die Checkliste machen will).
5. Die Shell gibt mit dem Befehl "Switch" eine Liste aus von 15 Punkten (15 Funktionen z.B. Antivirus) und der Techniker kann sich indem er eine Zahl eingibt für eine Entscheiden.
5. Die Shell öffnet die gewünschte Funktion aus einer Vorlage heraus welche sich bei "T:\Organisation\Technik\Vorlagen" befindet. In dem Fall heisst diese "VOR_Antivirus.xltx".
6. Der Techniker speichert diese Excel Datei in einem "Verteiler Ordner" welche automatisch erkennt wenn sich diese Datei in dem Ordner befindet.
7. Der Techniker wird aufgefordert das Excel zu schliessen damit das Skript die Datei von dem Verteiler Ordner Verschieben kann in den Server Ordner des Kunden.

Das habe ich bereits alles gemacht.
Mein Chef will aber eine Weitere Funktion und zwar eine wo man die Möglichkeit hat die Checkliste der Funktionen je nach Kunde Anzupassen.
Heisst bei Jedem Kunde, bei jedem Server soll sich eine CSV Datei befinden wo der Techniker Anpassungen Rein schreiben kann (!bevor!) er das Skript startet.
Das Skript geht dann bevor es die Excel Checkliste der Funktion öffnet in diese CSV Datei, schaut ob da was drin steht und wenn etwas drin steht werden diese Daten welche drin stehen in die Checkliste der Funktionen eingebaut.

Hier mal ein Bild einer Chekliste http://www.bilderload.net/bild-UnbenanntPNG-68612.htm

Darum wäre es sinnvoll wenn mein Skript die Daten welche sich in der CSV befinden in einer Variabel gespeichert werden damit ich diese dann mit diesem Befehl :$Checkliste1.Cells.Item(1,1) = $var_2 in die Fehler eintragen kann.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 27.02.2015, aktualisiert um 09:58 Uhr
Das ist dann meine Interpretation deines Vorhabens
(du hast ja nicht geschrieben ob alle Daten in eine Zelle sollen, daher bin ich davon ausgegangen das die Daten jeweils in eine neue Zeile kommen)
01.
$Users = Import-Csv "C:\Temp\textfile.csv" -Delimiter ';' -Header "1","2" 
02.
for($i=0;$i -lt $Users.Length;$i++){ 
03.
    $Checkliste.Cells.Item((1+$i),1).Value2 = $Users[$i].'1' 
04.
    $Checkliste.Cells.Item((1+$)i,2).Value2 = $Users[$i].'2' 
05.
}
Willst du nicht Zeile für Zeile schreiben kannst du die Daten auch in ein zweidimensionales Array konvertieren und einem Range direkt zuweisen. Wie das geht kannst du hier nachlesen https://powertoe.wordpress.com/2010/11/05/how-to-get-data-into-an-excel- ...
Bitte warten ..
Mitglied: playmen
27.02.2015 um 09:58 Uhr
Hallo
Danke für deine Antwort

Frage
Warum machst du hier:
$Checkliste.Cells.Item(4+$i,1).Value2 = $Users[$i].'1'
4+$i ? |||||||||||

sorry falls es eine blöde frage ist, bin die Sprache noch am lernen..

Gruass
Bitte warten ..
Mitglied: colinardo
27.02.2015, aktualisiert um 10:59 Uhr
Zitat von playmen:
Frage
Warum machst du hier:
$Checkliste.Cells.Item(4+$i,1).Value2 = $Users[$i].'1'
4+$i ? |||||||||||
Ich wusste ja nicht in welcher Zeile der Excel-Tabelle du die Daten hineinschreiben willst, das bleibt dann dir überlassen ... hatte mich nur an deinem Bildchen überlassen

p.s. Wie du Bilder deinem Beitrag hinzufügst, kannst du in der Formatierungs-FAQ nachlesen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - HL7 - Export nach CSV
gelöst Frage von internet2107Batch & Shell1 Kommentar

Folgendes Problem. Es geht um das Einlesen einer HL7 Datei, die zu einer CSV-Datei exportiert/umgewandelt werden soll. Die einzulesende ...

Exchange Server
Exchange Powershell - export-csv
gelöst Frage von chb1982Exchange Server5 Kommentare

Moin zusammen, einfache Frage: auf einem Exchange versuche ich folgendes: Das Ergebnis in der CSV-Datei ist allerdings nicht das, ...

Windows Tools
GPO Import Export via Powershell
gelöst Frage von SpeakerSTWindows Tools1 Kommentar

Hallo, ich habe heute versucht GPO via Powershell zu Exportieren und Imortieren, das klappt auch soweit mit folgenden Befehlen ...

Batch & Shell
Powershell: Import-CSV ohne mehrfache Werte
gelöst Frage von DanielBodenseeBatch & Shell2 Kommentare

Hallo zusammen, über Import-CSV und -Header lese ich eine Text-Datei in eine Variable $entries, die Zeilen haben mehrere Spalten. ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 22 StundenMicrosoft Office8 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner14 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...