Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine CSV-Datei (Durch Trennzeichen getrennte Werte) ist eine Textdatei, die häufig zum Speichern von Tabellenkalkulationsdaten oder anderen tabellarischen Daten verwendet wird, die durch Zeilen und Spalten dargestellt werden. Durch die Verwendung der Methode zum Trennen der Split Felder ist es sehr einfach, CSV-Dateien mithilfe von LINQ abzufragen und zu bearbeiten. Tatsächlich kann dieselbe Technik verwendet werden, um die Teile jeder strukturierten Textzeile neu anzuordnen; sie ist nicht auf CSV-Dateien beschränkt.
Gehen Sie im folgenden Beispiel davon aus, dass die drei Spalten "Nachname", "Vorname" und "ID" darstellen. Die Felder sind in alphabetischer Reihenfolge basierend auf den Nachnamen der Kursteilnehmer. Die Abfrage erzeugt eine neue Sequenz, in der die ID-Spalte zuerst angezeigt wird, gefolgt von einer zweiten Spalte, die den Vornamen und den Nachnamen des Kursteilnehmers kombiniert. Die Zeilen werden entsprechend dem ID-Feld neu angeordnet. Die Ergebnisse werden in einer neuen Datei gespeichert, und die ursprünglichen Daten werden nicht geändert.
So erstellen Sie die Datendatei
Kopieren Sie die folgenden Zeilen in eine Nur-Text-Datei mit dem Namen spreadsheet1.csv. Speichern Sie die Datei im Projektordner.
Adams,Terry,120 Fakhouri,Fadi,116 Feng,Hanying,117 Garcia,Cesar,114 Garcia,Debra,115 Garcia,Hugo,118 Mortensen,Sven,113 O'Donnell,Claire,112 Omelchenko,Svetlana,111 Tucker,Lance,119 Tucker,Michael,122 Zabokritski,Eugene,121
Beispiel
Class CSVFiles
Shared Sub Main()
' Create the IEnumerable data source.
Dim lines As String() = System.IO.File.ReadAllLines("../../../spreadsheet1.csv")
' Execute the query. Put field 2 first, then
' reverse and combine fields 0 and 1 from the old field
Dim lineQuery = From line In lines
Let x = line.Split(New Char() {","})
Order By x(2)
Select x(2) & ", " & (x(1) & " " & x(0))
' Execute the query and write out the new file. Note that WriteAllLines
' takes a string array, so ToArray is called on the query.
System.IO.File.WriteAllLines("../../../spreadsheet2.csv", lineQuery.ToArray())
' Keep console window open in debug mode.
Console.WriteLine("Spreadsheet2.csv written to disk. Press any key to exit")
Console.ReadKey()
End Sub
End Class
' Output to spreadsheet2.csv:
' 111, Svetlana Omelchenko
' 112, Claire O'Donnell
' 113, Sven Mortensen
' 114, Cesar Garcia
' 115, Debra Garcia
' 116, Fadi Fakhouri
' 117, Hanying Feng
' 118, Hugo Garcia
' 119, Lance Tucker
' 120, Terry Adams
' 121, Eugene Zabokritski
' 122, Michael Tucker