Ensuite tu parcours la collection et tu supprimes celles dont le dernier caractère est = "N" vu que tu ne gardes pas les lignes qui se terminent par un "N"ça marche pas.
à la place de TRAINBUS plutôtc'est exact
Dim readText() As String = File.ReadAllLines(myfilecsv) Dim currentline As String For Each currentline In readText Dim arrayline As String() = currentline.Split(",") If arrayline.Count = 12 Then MessageBox.Show(currentline) End If Next
Dim readText() As String = File.ReadAllLines(myfilecsv) ' les lignes du fichier Dim currentline As String For Each currentline In readText ' pour chaque ligne du fichier Dim arrayline As String() = currentline.Split(",") ' les éléments de cette ligne ( on ne compte pas les séparateurs ) If arrayline.Count = 12 Then ' si il y a 12 éléments on garde la ligne MessageBox.Show(currentline) ' c'est une String et non un numéro de ligne End If Next
File.WriteAllLinesen créant un tableau avec les lignes gardées
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionIo.File.WriteAllLines! Car tu aurais compris comment écrire dans le fichier .CSV et quoi y écrire surtout .
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim Lignes As List(Of String) = File.ReadAllLines("D:\Test.txt").ToList For i = Lignes.Count - 1 To 0 Step -1 If Lignes(i).TrimEnd.EndsWith("N") = True Then Lignes.RemoveAt(i) Next File.WriteAllLines("D:\Test.txt", Lignes) End Sub
Dim inputfile As String = "C:\Users\" & Environment.UserName & "\desktop\Test.csv" Dim outputfile As String = "C:\Users\" & Environment.UserName & "\desktop\new_Test.csv" Using sw As StreamWriter = File.CreateText(outputfile) Dim readText() As String = File.ReadAllLines(inputfile) For Each currentline As String In readText If currentline(currentline.Length - 1) <> ";" Then sw.WriteLine(currentline) End If Next End Using
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim Lignes As List(Of String) = File.ReadAllLines("D:\Test.txt").ToList For i = Lignes.Count - 1 To 0 Step -1 Dim Elements as List(of String) = Lignes(i).Split(","c).ToList If Elements.Count = 11 Then Lignes.RemoveAt(i) Next File.WriteAllLines("D:\Test.txt", Lignes) End Sub
For Each currentline As String In File.ReadAllLines(inputfile) Debug.Print(currentline), j'obtiens
267412010;1/30/2018;TRAINBUS;RIN DIDIER;PFN;92;55;92;75;N;N;121212
267412010;1/30/2018;TRAINBUS;RIN DIDIER;PFN;92;55;92;75;N;N;
267412010;1/30/2018;TRAINBUS;RIN DIDIER;PFN;92;55;92;75;N;N;878121
267412010;1/30/2018;TRAINBUS;RIN DIDIER;PFN;92;55;92;75;N;N;
267412010;1/30/2018;TRAINBUS ;RIN DIDIER;PFN;92;55;92;75;N;N;
267412010;1/30/2018; TRAINBUS;RIN DIDIER;PFN;92;55;92;75;N;N ;
For i = Lignes.Count - 1 To 0 Step -1pour lire le fichier à partir de la fin jusqu'au début. Cela permet la suppression de lignes.