Bonjour à tous,

Je récupère des données d'un fichier CSV. Le souci, c'est que des données peuvent être présentes ou non, voici un exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Line, 1
Flow, 1
Flag,
Arrow,
 
-----
... etc ...
-----
 
Line, 2
Flow,
Flag, R
Arrow, 3
Ca me pose un peu de problème pour l'extraction. Je ne sais pas comment faire pour poser les conditions vu que je dois récuperer tous les champs, meme ceux qui n'ont pas de valeurs.

Voici le début de ma méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub ExtractData()
 
     Try
          Dim sr As New StreamReader(_path)
          Dim currentLine As String
 
          While Not (sr.EndOfStream)
               currentLine = sr.ReadLine()
               Dim splitedLine As String() = currentLine.Split(New Char() {","c})
               Dim lineNumber As Integer
 
               If currentLine.Contains("Line") Then
                    If splitedLine.Length > 1 Then
                         'On recupere le champs + la valeur
                    Else
                         'On recupere que le champs
                    End If
               End If
 
               If currentLine.Contains("Flow") Then
                    If splitedLine.Length > 1 Then
                         'On recupere le champs + la valeur
                    Else
                         'On recupere que le champs
                    End If
               End If
 
          End While
     Catch ex As Exception
          Console.WriteLine(ex.Message + " " + _path)
     End Try
 
End Sub
Je trouve ca vraiment lourd surtout que j'ai environ 200 champs à traiter ..

Est-ce que vous voyez un moyen d’optimiser cela ?

Merci,

Jah