C# - Daten aus CSV Datei Laden.

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du musst lediglich die Zeichenkette trennen. Die simpelste Variante wäre hier ein String.split()

string zeile = "Mistgabel;Dies ist eine Mistgabel wie sie jeder Bauer kennt.;10;1 Magischer Ast;Ein Ast der von Magie durchströmt wurde.;10;2 Eichenholzbogen;Ein einfach Jagdbogen aus Eichenholz.;10;3"
string[] elemente = zeile.split(';');

Und da wohl jeder Datensatz hier 4 Elemente hat, kann man die immer relativ einfach trennen:

string teilelement_1 = elemente[datensatz*4];
string teilelement_2 = elemente[datensatz*4+1];

usw... ich gehe aber mal davon aus, dass zwischen den einzelnen Datensätzen ein Zeilenumbruch ist. Somit brauchst Du ja eigentlich nur die Daten Zeilenweise einlesen und verarbeiten. Notfalls kann man ja auch am Zeilenumbruch \n splitten, wenn Du alles in einer einzigen Variable gespeichert hast.

39

ich gehe aber mal davon aus, dass zwischen den einzelnen Datensätzen ein Zeilenumbruch ist. ...

Tipp: Excel setzt automatisch Zeilenumbrüche, wenn die Datei erzeugt wird. Und wenn sie "nur in Excel geöffnet" wird, hast du einen endlosen Zeichenbrei in einer einzigen Zeile, falls keine Zeilenumbrüche vorhanden sind. Insofern bedurfte es dieses Hinweises nicht mehr.

0
9
@Unsinkable2

Ich hab jetzt erst gemerkt das gutefrage.net meine Zeiltenumbrüche aufgefressen hat. Ja nach jeden Datensatz kommt ein \n.

0

Da du nicht sagst, was du nach dem Einlesen machen willst, folgt hier noch eine weitere Möglichkeit als Alternative zu Hellstorms Tipp:

Lese die Daten in eine Datentabelle (DataTable) ein und verwende anschließend die Tabelle. Den passenden Quellcode findest du u.a. hier:

Vorteil: Wenn du die Daten später stückchenweise verarbeiten willst und dabei auf verschiedene Datenzeilen gleichzeitig zugreifen möchtest, kannst du mit einer DataTable leichter (und mit weniger Quellcode) arbeiten. Außerdem wandelt die DataTable Zahlen - oft, nicht immer ;) - in das richtige Format um, du sparst dir also explizite Umwandlungen und damit ebenfalls Schreibarbeit.

Nachteil: Wenn die Datenmengen größer werden, wird auch eine DataTable schnell unhandlich und zum Ressourcenfresser.

9

Wie genau nutzt man eine DataTabelle in C#. Ich hab davon noch nie was gehört, und habe bei Google auch nichts gutes dazu gefunden. Hast du da vielleicht noch ein Link oder ne kleine Hilfe?

MfG.

0

Na, da haste dir ja was vorgenommen :) Aber ganz im Ernst: Das packst du! Mit viel Frickelei und dem obligatorischem Hauch Kreativität. Du benötigst:

  • eine Funktion, um die Datei in eine Zeichenkette einzulesen
  • eine Funktion, um jede Zeile nach "Komma" zu trennen

...und die entstehenden Fragmente weist du dann deinen Member-Variablen zu

Eigentlich ganz einfach, oder? :-)

CSV per Batch Datei auf FTP Hochladen?

Hallo zusammen,

wir haben in der Firma zum Exportieren der Bestände und Preise eine Batch Datei geschrieben, die mehrere CSV Dateien exportiert. Diese laden wir aber manuell mit Filezilla auf den FTP. Gibt es eine Möglichkeit diese Funktion mit in die .BAT einzubauen ? Danke im Voraus!

...zur Frage

C# - Das Programm enthält keine als Einstiegspunkt geeignete statische Main-Methode: Wie kann ich den Fehler beheben?

Hallo liebe Community. Ich habe in C# mein erstes kleines Programm geschrieben, beim kompilieren habe ich folgenden Fehler bekommen: Das Programm X:\User\Directory\obj\Debug\Program.exe enthält keine als Einstiegspunkt geeignete statische Main-Methode. Woran liegt das? Was muss ich tun um den Fehler zu beheben? Wahrscheinlich ist es eindeutig.. hab aber alles mögliche versucht.

...zur Frage

Visual Studio C# Email nach bestimmter Zeit versenden?

Hey :) Ich habe vor mir ein Programm zu schreiben (C#, Visual Studio 2015) welches mich nach einer selber ausgewählten Zeit an bestimmte Dinge erinnert. Dazu soll es mir eine Email schicken an dem Tag an dem das Ereignis stattfindet. Das mit dem Email schicken und so klappt auch alles ganz gut. Ich verstehe nur nicht wie ich die Email nach einer bestimmten Zeit (z.B nach 4 Tagen usw.) verschicken kann, wenn das überhaupt möglich ist. Danke schon mal im voraus!

...zur Frage

IntelliJ Java Datenspeicherung geht nach Umwandlung in jar nicht mehr?

Hallo, ich habe ein kleines Programm mit Java in IntelliJ geschrieben. Ich habe dort eine TableView in die man Daten eintragen kann welche dann automatisch in eine csv datei geschrieben werden. Beim erneuten öffnen des Programms werden die Daten dann aus der csv datei gelesen und wieder angezeigt. Das hat alles soweit funktioniert. Jetzt habe ich aus dem Projekt eine Jar Datei gemacht und die Datenspeicherung funktioniert nicht mehr. Alles andere geht noch so wie es soll. Danke im voraus ;)

...zur Frage

CSV Datei in MySQL Datenbank einlesen- JAVA

Hallo meine Lieben, ich habe in NetBeans (Java) eine Datenbank erstellt und möchte in diese mit Hilfe von MySql-Befehlen Daten aus einer CSV Datei einlesen. Kennt sich jemand aus? Danke schon mal im Voraus! :)

LG,.

...zur Frage

Mittels PHP-Skript JSON Datei von Website herunterladen und in CSV konvertieren?

Hallo zusammen,

über den Zugriff auf eine API habe ich die Möglichkeit JSON-Daten abzurufen. Ursprünglich wollte ich diese direkt in MS SQL importieren. Dies ist mir jedoch leider nicht gelungen.

Meine nächste Überlegung ist ein PHP-Skript, welches die Daten von der Website (https://xxxxxxx/API) abruft und dann lokal in eine CSV-Datei unter Angabe des Speicherortes ablegt. Idealerweise sollte dies automatisch alle X Minuten geschehen und die CSV-Datei immer wieder erneuern, um die aktuellsten Daten dann wieder in die MS SQL-Datenbank importieren zu können.

Auf der Website, von der die Daten abgerufen werden sollen, ist eine Authentifizierung mittels Benutzernamen und Passwort erforderlich.

Leider habe ich bisher mit PHP aber nicht viel zu tun gehabt.

Evtl. kann mir hier jemand helfen?

Vielen Dank im Voraus!

...zur Frage

Was möchtest Du wissen?