Daten schnell auslesen von CSV Datei

  • VB.NET

Es gibt 54 Antworten in diesem Thema. Der letzte Beitrag () ist von Toni_Edi.

    ich hab hier mal was gebastelt, das lädt bei mir die Daten in 28ms.
    Ist lauter Zeugs drin, was du nicht willst (weil ich hab einfach meine Standard-Projektvorlage erweitert), aber nun kannst du vergleichend untersuchen, warum bei mir hinreichend schnell.
    Macht auch nix von deine Funktionalität, sondern nur laden.
    Aber da die Daten nun im Speicher sind, sollte weitere Verarbeitung nix mehr dauern (ausser das vermutete DGV-DataSource-Problem).
    Dateien
    • ToniEdiCsv02.zip

      (233,37 kB, 49 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    @Toni_Edi Mit Deinem Code aus Post #1 und Deinen Daten habe ich keine Probleme, ich hab testweise den Ausdruck fields.ElementAt(0) = xName weggelassen, so dass alle Zeilen eingelesen werden.
    Ohne eine Dauer bestimmt zu haben ludt er alles sehr schnell.
    Auch der Test mit 5019 Zeilen (C&P) lädt beide Varianten sehr schnell (in weniger als einer Sekunde).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ich glaube das EDR recht hat in Post#13

    versuche es so

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.IO
    3. Public Class Form1
    4. Private Toni_EdiList As New List(Of String)
    5. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    6. DataGridView1.Rows.Clear()
    7. Dim fromDate As DateTime = DateTimePicker1.Value
    8. Dim toDate As DateTime = DateTimePicker2.Value
    9. Dim ID As String = ComboBox1.Text
    10. Dim start As DateTime = DateTime.Now
    11. 'Query auslösen
    12. Dim results = (From line In File.ReadAllLines("D:\TestFolder\Dataall.txt").Skip(1) _
    13. Let fields = line.Split(New Char() {";"c}).AsEnumerable() _
    14. Where DateTime.Parse(fields.ElementAt(1)) > fromDate AndAlso _
    15. DateTime.Parse(fields.ElementAt(1)) < toDate AndAlso _
    16. fields.ElementAt(0) = ID Select fields).ToArray()
    17. 'elemente zurück geben
    18. For Each element In results
    19. DataGridView1.Rows.Add(element(0), _
    20. element(1), _
    21. element(2), _
    22. element(3))
    23. Next
    24. Dim elapsedTimeInSeconds As Double = DateTime.Now.Subtract(start).TotalSeconds
    25. Debug.WriteLine(" {0} seconds", elapsedTimeInSeconds)
    26. End Sub
    27. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    28. Dim yourFile = IO.File.ReadAllLines("D:\TestFolder\Dataall.txt").Skip(1)
    29. Toni_EdiList =
    30. (
    31. From line In yourFile
    32. Where line.Length > 0 Let Items = line.Split(";"c) _
    33. Select yourItem = Items(0)
    34. Distinct
    35. Order By yourItem
    36. ).ToList
    37. ComboBox1.DataSource = Toni_EdiList
    38. DataGridView1.Columns.Add("Name", "Name")
    39. DataGridView1.Columns.Add("Datum und Zeit", "Datum und Zeit")
    40. DataGridView1.Columns.Add("col3", "col3")
    41. DataGridView1.Columns.Add("col4", "col4")
    42. 'Beispiel Datum mit Uhrzeiten
    43. DateTimePicker1.Format = DateTimePickerFormat.Custom
    44. DateTimePicker1.CustomFormat = "dd.MM.yyyy HH:mm:ss"
    45. Dim fromDate As DateTime = New DateTime(2020, 9, 2, 7, 42, 22)
    46. DateTimePicker2.Format = DateTimePickerFormat.Custom
    47. DateTimePicker2.CustomFormat = "dd.MM.yyyy HH:mm:ss"
    48. Dim toDate As DateTime = New DateTime(2020, 10, 25, 8, 47, 59)
    49. DateTimePicker1.Value = fromDate
    50. DateTimePicker2.Value = toDate
    51. End Sub
    52. End Class


    die Abfrage benötigte
    0.0109928 seconds
    Vollzitat eines Vorposts durch Anredefunktion ersetzt ~VaporiZed

    @ErfinderDesRades,

    vielen Dank dass du für mich soviel zeit genommen hast.
    Dein Code muss ich in ruhe anschauen.
    Das ist für mich so hart, ich bin kein Profi.

    Am anfan an habe ich Code von Kasi genommen und so habe ich aufgebaut.
    Jetzt weis ich woher der Fehler kommt.



    @RodFromGermany

    hi,das habe ich auch versucht.
    bei mir funktioniert auch gesamte (717 Zeile) Datei mit 68 sekunden ohen Filtern(Combobox.Name).
    Ich habe was gefunden, trotzdem Ihr könnt mir helfen.

    @Kasi
    hallo mein Freund Kasi,
    viele haben versucht mir helfen, ich habe meine Problemme nicht richtig geschildert.
    Aber Du hast mich sofort verstanden und geholfen.

    A bis Z habe ich deine Code genommen und eingebaut.
    Du hast das ganze nochmal gepostet Post#23.

    wie kann ich zählen und in Text mit laufen lasen?
    damit ich sehen kann wie viele grade zählt.

    Ich denke, ich habe jetzt gefunden warum das so lage gedaurt mit lesen.
    vielen Dank,

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“ ()

    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    without the Tabel and Datetime Format!


    Ich hatte viele funktionen mit Datatable aufgebaut. :/
    Fange ich alle von vorne an . ?(
    Jetzt habe ich kein Datatable mehr, wie kann ich diese funktion Modifizieren.

    VB.NET-Quellcode

    1. Dim row As DataRow = thedatatable.NewRow
    2. row.Item("Name") = "All"
    3. thedatatable.Rows.InsertAt(row, 0)
    4. Dim names As List(Of String) = thedatatable.AsEnumerable() _
    5. .Select(Function(r) r.Field(Of String)("Name")) _
    6. .Distinct() _
    7. .ToList()
    8. names.Sort()
    9. ComboBox2.DataSource = names

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

    Toni_Edi schrieb:

    wie kann ich diese funktion Modifizieren.
    Was soll denn dabei rauskommen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    @RodFromGermany,

    Nachdem auslesen kann ich nach Name filtern und Auswerten.
    Ich hatte mit Datatable vieles vorbereitet.
    z.B.

    VB.NET-Quellcode

    1. Private Sub ComboBox2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
    2. Dim myBindingSource As New BindingSource
    3. myBindingSource.DataSource = thedatatable.DefaultView()
    4. DataGridView1.DataSource = myBindingSource
    5. Dim cust As String = Me.ComboBox2.Text
    6. If cust <> "00000 Alle Teilenummern" Then
    7. myBindingSource.Filter = "name = '" & cust & "'"
    8. 'Labelshow()
    9. Else
    10. myBindingSource.Filter = "name <> '" & cust & "'"
    11. ' Labelshow()
    12. End If
    13. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    @Toni_Edi Meinst Du so was:

    VB.NET-Quellcode

    1. Private Sub ComboBox2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
    2. Dim myBindingSource As New BindingSource
    3. myBindingSource.DataSource = thedatatable.DefaultView()
    4. Dim compare = If(cust <> "00000 Alle Teilenummern", "=", "<>")
    5. myBindingSource.Filter = String.Format("name {0} '{1}'", compare, Me.ComboBox2.Text)
    6. DataGridView1.DataSource = myBindingSource
    7. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany,
    Ja, mein Problem ist wie bekomme ich die Namen in Combobox2.
    Muss ich wieder eine Datatable erstellen? nach dem die Daten aus CSV ausgelesen habe.
    Ich will nicht immer doppelte weg gehen, es wird wieder lange dauern.
    Welcher möglichkeit habe ich hier aus Dagridview1 (0) to Combobox2.

    VB.NET-Quellcode

    1. Dim row As DataRow = thedatatable.NewRow
    2. row.Item("Name") = "All"
    3. thedatatable.Rows.InsertAt(row, 0)
    4. Dim names As List(Of String) = thedatatable.AsEnumerable() _
    5. .Select(Function(r) r.Field(Of String)("Name")) _
    6. .Distinct() _
    7. .ToList()
    8. names.Sort()
    9. ComboBox2.DataSource = names

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Toni_Edi“ ()

    @Toni_Edi Das ist der identische Code von Post #26.

    RodFromGermany schrieb:

    Was soll denn dabei rauskommen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Toni_Edi Ich denke ich bin nicht der Einzige, der jetzt nicht mehr genau weiß was Du erreichen möchtest. Fall Du es Dir hilft hier auch noch mein Lösungsansatz (in C# :whistling: ).Ich hab dafür folgende Library benutzt CSVHelper und Deine CSV Datei mit diesem OnlineConverter automatisch in C# Klassen umgewandelt.



    Das Klassen DatenModel (vom Converter):
    Spoiler anzeigen

    C#-Quellcode

    1. using CsvHelper.Configuration;
    2. using System;
    3. using System.Collections.Generic;
    4. using System.Linq;
    5. using System.Text;
    6. using System.Threading.Tasks;
    7. namespace Basic_ReadWrite_CSV.Model
    8. {
    9. //I used https://toolslick.com/generation/code/class-from-csv
    10. //to derive the C# classes from the CSV
    11. //plus I use the NugetPacket CSVHelper -> ClassMap is need for this and
    12. //dont forget the -- using CsvHelper.Configuration;
    13. //plus Problems with the Symbol ° so I changed that to Grad or g
    14. //TODO example would be last property
    15. //Stat_Grad is converted to String instead of a fload or somesort
    16. //etc.
    17. public class CSVDataModel
    18. {
    19. public string Typ { get; set; }
    20. public DateTime Datum { get; set; }
    21. public bool TrueFalse { get; set; }
    22. public string Eb1 { get; set; }
    23. public int Eb1X { get; set; }
    24. public int Eb1Y { get; set; }
    25. public string Eb1_Grad { get; set; }
    26. public string Eb2_ { get; set; }
    27. public int Eb2X { get; set; }
    28. public int Eb2Y { get; set; }
    29. public string Eb2_Grad { get; set; }
    30. public string Stat { get; set; }
    31. public int StatX { get; set; }
    32. public int StatY { get; set; }
    33. public string Stat_Grad { get; set; }
    34. }
    35. public class CSVDataModelClassMap : ClassMap<CSVDataModel>
    36. {
    37. public CSVDataModelClassMap()
    38. {
    39. Map(m => m.Typ).Name("Typ");
    40. Map(m => m.Datum).Name("Datum");
    41. Map(m => m.TrueFalse).Name("True/False");
    42. Map(m => m.Eb1).Name("Eb_1");
    43. Map(m => m.Eb1X).Name("Eb1_x");
    44. Map(m => m.Eb1Y).Name("Eb1_y");
    45. Map(m => m.Eb1_Grad).Name("Eb1_g");
    46. Map(m => m.Eb2_).Name("Eb2_");
    47. Map(m => m.Eb2X).Name("Eb2_x");
    48. Map(m => m.Eb2Y).Name("Eb2_y");
    49. Map(m => m.Eb2_Grad).Name("Eb2_g");
    50. Map(m => m.Stat).Name("stat");
    51. Map(m => m.StatX).Name("stat_x");
    52. Map(m => m.StatY).Name("stat_y");
    53. Map(m => m.Stat_Grad).Name("stat_g");
    54. }
    55. }
    56. }


    Das Programm:
    Spoiler anzeigen

    C#-Quellcode

    1. using Basic_ReadWrite_CSV.Model;
    2. using CsvHelper;
    3. using System;
    4. using System.Collections.Generic;
    5. using System.ComponentModel;
    6. using System.Data;
    7. using System.Diagnostics;
    8. using System.Drawing;
    9. using System.Globalization;
    10. using System.IO;
    11. using System.Linq;
    12. using System.Text;
    13. using System.Threading.Tasks;
    14. using System.Windows.Forms;
    15. namespace Basic_ReadWrite_CSV
    16. {
    17. public partial class Main : Form
    18. {
    19. readonly string DataFileName ="DATAALL.txt";
    20. List<CSVDataModel> LstCSVDataModels = new List<CSVDataModel>();
    21. List<CSVDataModel> LstOfFilteredDataModels = new List<CSVDataModel>();
    22. readonly List<DateTime> LstDates = new List<DateTime>();
    23. readonly List<string> LstTyps = new List<string>();
    24. readonly Stopwatch SWatch = new Stopwatch();
    25. public Main()
    26. {
    27. InitializeComponent();
    28. ReadData();
    29. PopulateCmbx();
    30. ShowRawData();
    31. }
    32. private void ReadData()
    33. {
    34. using (var reader = new StreamReader(DataFileName))
    35. using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
    36. {
    37. csv.Configuration.RegisterClassMap<CSVDataModelClassMap>();
    38. csv.Configuration.Delimiter = ";";
    39. //csv.Configuration.HeaderValidated = null;
    40. //csv.Configuration.MissingFieldFound = null;
    41. LstCSVDataModels = csv.GetRecords<CSVDataModel>().ToList();
    42. }
    43. }
    44. private void ShowRawData()
    45. {
    46. DGVRawData.DataSource = LstCSVDataModels;
    47. }
    48. private void PopulateCmbx()
    49. {
    50. foreach (var line in LstCSVDataModels)
    51. {
    52. LstDates.Add(line.Datum.Date);
    53. LstTyps.Add(line.Typ);
    54. }
    55. //Cmbx Dates
    56. List<DateTime> LstDatesDistinct = LstDates.Distinct().ToList();
    57. LstDatesDistinct.Sort();
    58. foreach (var datum in LstDatesDistinct)
    59. {
    60. CmbxDateFrom.Items.Add(datum.Date);
    61. CmbxDateTo.Items.Add(datum.Date);
    62. }
    63. //Cmbx Typ
    64. List<string> LstTypsDistinct = LstTyps.Distinct().ToList();
    65. LstTypsDistinct.Sort();
    66. foreach (var typ in LstTypsDistinct)
    67. {
    68. CmbxTyp.Items.Add(typ);
    69. }
    70. }
    71. //Filter and Show Data
    72. private void BtnFilter_Click(object sender, EventArgs e)
    73. {
    74. FilterData();
    75. ShowFilteredData();
    76. }
    77. private void CmbxTyp_SelectedIndexChanged(object sender, EventArgs e)
    78. {
    79. FilterData();
    80. ShowFilteredData();
    81. }
    82. private void FilterData()
    83. {
    84. if (CmbxTyp.SelectedItem != null && CmbxDateFrom.SelectedItem != null && CmbxDateTo.SelectedItem != null)
    85. {
    86. SWatch.Start();
    87. //LINQ
    88. LstOfFilteredDataModels = LstCSVDataModels.Where(line => line.Typ == CmbxTyp.SelectedItem.ToString() &&
    89. line.Datum.Date >= ((DateTime)CmbxDateFrom.SelectedItem).Date &&
    90. line.Datum.Date < ((DateTime)CmbxDateTo.SelectedItem).Date
    91. ).ToList();
    92. SWatch.Stop();
    93. LbTimer.Text = $"in ms: {SWatch.Elapsed.TotalMilliseconds}";
    94. SWatch.Reset();
    95. }
    96. }
    97. private void ShowFilteredData()
    98. {
    99. DGVFilteredData.DataSource = LstOfFilteredDataModels;
    100. LbFound.Text = $"Found: {LstOfFilteredDataModels.Count}";
    101. }
    102. }
    103. }


    Klasse/n erstellen, die die Datenstruktur des CSV wiederspiegelt. Jede Zeile des CSV ist dann ein Objekt dieser Klasse. Diese Objekte dann in eine Liste aufnehmen, danach kann man dann mit den Daten machen was man will :D .

    Mein Bauchgefühl sagt mir, dass mein Code Dir nicht wirklich helfen wird, eventuell aber der obige Satz!

    --------

    Konkret wenn ich das richtig verstehe!? Hier noch mein C# Code nur für das Befüllen der Comboxen in VB konvertiert.

    VB.NET-Quellcode

    1. Private Sub PopulateCmbx()
    2. For Each line In LstCSVDataModels
    3. LstDates.Add(line.Datum.Date)
    4. LstTyps.Add(line.Typ)
    5. Next
    6. Dim LstDatesDistinct As List(Of DateTime) = LstDates.Distinct().ToList()
    7. LstDatesDistinct.Sort()
    8. For Each datum In LstDatesDistinct
    9. CmbxDateFrom.Items.Add(datum.Date)
    10. CmbxDateTo.Items.Add(datum.Date)
    11. Next
    12. Dim LstTypsDistinct As List(Of String) = LstTyps.Distinct().ToList()
    13. LstTypsDistinct.Sort()
    14. For Each typ In LstTypsDistinct
    15. CmbxTyp.Items.Add(typ)
    16. Next
    17. End Sub​


    Bleib dran!! Programmieren testet meine Frustationsgrenze jedesmal aufs neue LG Nogood
    Bilder
    • Toni_Edi.png

      75,49 kB, 1.538×793, 41 mal angesehen
    codewars.com Rank: 4 kyu
    <p>

    nogood schrieb:

    @Toni_Edi Ich denke ich bin nicht der Einzige, der jetzt nicht mehr genau wei&szlig; was Du erreichen m&ouml;chtest. Fall Du es Dir hilft hier auch noch mein L&ouml;sungsansatz (in C# &nbsp;).Ich hab daf&uuml;r folgende Library benutzt CSVHelper und Deine CSV Datei mit diesem OnlineConverter automatisch in C# Klassen umgewandelt.
    </p>

    @nogood,

    Vielen Danke für die Unterstützung.

    Ganzeinfach, ich habe die Code von Kasi genommen und so aufgebaut Post#23.

    Meine Frage war:

    Wie bekomme ich die vorhandene Daten von Datagridview1 Column (0) in Textbox oder in Combobox.

    Ich habe jetzt sogemacht.
    Esdauert für 800 Zeile 9 Sekunden länge.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. DataGridView1.Rows.Clear()
    3. DataGridView1.Columns.Add("Name", "Name")
    4. DataGridView1.Columns.Add("Datum und Zeit", "Datum und Zeit")
    5. DataGridView1.Columns.Add("col3", "col3")
    6. DataGridView1.Columns.Add("col4", "col4")
    7. Dim fromDate As DateTime = DateTimePicker1.Value
    8. Dim toDate As DateTime = DateTimePicker2.Value
    9. Dim ID As String = ComboBox1.Text
    10. Dim start As DateTime = DateTime.Now
    11. [color=#AFEEEE]Dim Name_List As New List(Of String)[/color]
    12. 'Query auslösen
    13. Dim results = (From line In File.ReadAllLines(TextBox1.Text).Skip(1) _
    14. Let fields = line.Split(New Char() {";"c}).AsEnumerable() _
    15. Where DateTime.Parse(fields.ElementAt(1)) >= fromDate AndAlso _
    16. DateTime.Parse(fields.ElementAt(1)) <= toDate Select fields).ToArray()
    17. 'elemente zurück geben
    18. For Each element In results
    19. DataGridView1.Rows.Add(element(0), _
    20. element(1), _
    21. element(2), _
    22. element(3))
    23. [color=#AFEEEE]Name_List.Add(element(0))[/color]
    24. Next
    25. Dim elapsedTimeInSeconds As Double = DateTime.Now.Subtract(start).TotalSeconds
    26. Debug.WriteLine(" {0} seconds", elapsedTimeInSeconds)
    27. Labelshow()
    28. [color=#AFEEEE]ComboBox2.DataSource = Name_List[/color]
    29. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Toni_Edi“ ()

    <p>@nogood,</p>

    <p>Hallo nogood,</p>

    <p>Wie Du gemacht hast sieht es Gut aus.</p>

    <p>Aber wie kann ich deine Code nutzen C#.</p>

    <p>ich habe heute mit 2000 Zeile eingelesen und es hat sich &quot;585.3754217 seconds&quot; gedauert.</p>

    <p>Ich bin immer noch am k&auml;mpfen.</p>

    <p>Vielen Dank nochmals,</p>

    <p dir="rtl">&nbsp;</p>

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Toni_Edi“ ()

    Toni_Edi schrieb:

    Aber wie kann ich deine Code nutzen C#.
    Indem Du ihn nach VB.NET übersetzt.
    Ein Übersetzungstool findest Du in meiner Signatur.
    Allerdings solltest Du Dich benühen, C# ansatzweise zu verstehen, zumal dahinter dieselbe Philosophie steckt wie hinter VB.NET.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo Freunde,
    Ich bin immer noch nicht zufrieden.
    Ich habe erst versucht mit Datatable und zweite versuch ohne Datatable direkt in DGV.
    Troztdem dauert alles solange.
    Ich muss ca.4000 Zeile von 10000 lesen.
    Kann ich erst in einer Liste ODER in einer LISTVIEW die Daten lesen und danach in DGV schreiben?
    Ich habe das getestet, sodauert nicht solange.
    Aber ich weis nicht wie man von List auf DGV schreibt.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. DataGridView1.Rows.Clear()
    3. Dim fromDate As DateTime = DateTimePicker1.Value
    4. Dim toDate As DateTime = DateTimePicker2.Value
    5. Dim ID As String = ComboBox1.Text
    6. Dim start As DateTime = DateTime.Now
    7. Dim Name_List As New List(Of String)
    8. Dim results = (From line In File.ReadAllLines(TextBox1.Text).Skip(1) _
    9. Let fields = line.Split(New Char() {";"c}).AsEnumerable() _
    10. Where DateTime.Parse(fields.ElementAt(1)) >= fromDate AndAlso _
    11. DateTime.Parse(fields.ElementAt(1)) <= toDate Select fields).ToArray()
    12. For Each element In results
    13. 'DataGridView1.Rows.Add(element(0), _
    14. ' element(1), _
    15. ' element(2), _
    16. ' element(3))
    17. Name_List.Add(element(0))
    18. Name_List.Add(element(1))
    19. Name_List.Add(element(2))
    20. Name_List.Add(element(3))
    21. Next
    22. Labelshow()
    23. Dim elapsedTimeInSeconds As Double = DateTime.Now.Subtract(start).TotalSeconds
    24. Debug.WriteLine(" {0} seconds", elapsedTimeInSeconds)
    25. End Sub

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Toni_Edi“ ()

    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    @ErfinderDesRades,
    Hallo Erfinderdesrades,
    Ich habe deine Post#21 gelesen und versucht das öffnen, das hat nicht funktioniert.
    Ehrlich gesagt , glaub mir ich habe dein Code nicht ignoriert, sondern ich bin damit nicht zu Recht gekommen.
    Ich weiß nicht, wie ich das verwenden soll.
    @Kasi, hat einfache Methode geschrieben, deshalb habe ich den verstanden und verwendet.
    Es hat soweit alles funktioniert. danach habe ich mehr als 4000 aus 10000 Zeile gelesen da hat mein Problem wieder angefangen.


    Ich weiß, viele haben sich für mich viel Zeit investiert und die Mühe gegeben.

    Seit mehrer Wochen versuche ich die Daten aus CSV lesen immer noch nicht fertig.

    Vielen Dank an Allen,

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „VaporiZed“ ()

    Toni_Edi schrieb:

    Ich habe deine Post#21 gelesen und versucht das öffnen, das hat nicht funktioniert.
    Ehrlich gesagt , glaub mir ich habe dein Code nicht ignoriert, sondern ich bin damit nicht zu Recht gekommen.
    Ich weiß nicht, wie ich das verwenden soll.
    Nun, das nenne ich ignorieren, wenn du nix mit anfangen kannst, und sagst das nicht.
    Wobei ich noch immer nicht weiss, ob du den zip nicht entpacken konntest, oder ob du die Solution darin nicht gefunden hast, oder ob du die Soluteion darin nicht öffnen konntest, oder ob die Solution Fehlermeldungen ausgegeben hat, oder ob du nicht wusstest, welchen Button drücken, oder oder oder...