Ich versuche, die Anzahl der Wörter pro PDF-Datei in einem Quellordner zu zählen und den Namen und die Wordcount zu einem CSV zu exportieren. Aber meine Ausgabe CSV scheint die Anzahl der PDFs (123) zu zählen, obwohl der Inhalt meines Objekts richtig scheint.Powershell Warum kann ich dieses Objekt nicht nach CSV exportieren
Snippet
$source = 'C:\Data\SCRIPTS\R\TextMining\PDFs'
$results= @{}
Get-ChildItem -Path $source -Filter *.pdf -Recurse | ForEach-Object{
$count = Get-Content $_.FullName | Measure-Object -Word
$results.Add($_.FullName, $count.Words)}
$results
Export-Csv C:\Data\SCRIPTS\R\TextMining\PageClustering\PDFs\PGs\PGs_WC.csv -InputObject $results -notypeinformation
ich den Dateinamen und wordcount auf der Konsole angezeigt werden können, aber das Rohr zu csv kommt mit Fehlern aus.
Ausgabe
IsReadOnly IsFixedSize IsSynchronized Keys Values SyncRoot Count
FALSE FALSE FALSE System.Collections.Hashtable+KeyCollection System.Collections.Hashtable+ValueCollection System.Object 123
Ich lerne PS verwenden - was mache ich falsch?
großartig! Vielen Dank. Was ist der Unterschied zwischen @ {} und @() .... einer ist ein Array und einer ist ein Objekt? Ich weiß nicht, wann ich welche verwenden soll. – val
@() ist ein Array und @ {} ist eine Hashtabelle. Im Gegensatz zu normalen Arrays, bei denen Sie über einen numerischen Index auf jedes Element verweisen, können die Schlüssel einer Hash-Tabelle Strings sein. – Oli