chambreur
Messages postés30Date d'inscriptionmardi 19 août 2008StatutMembreDernière intervention15 mai 2014
-
5 févr. 2014 à 11:16
chambreur
Messages postés30Date d'inscriptionmardi 19 août 2008StatutMembreDernière intervention15 mai 2014
-
5 févr. 2014 à 14:41
Bonjour,
Je cherche à filtrer des données sur un fichier csv que voici:
chat; pâté; 4 pattes;
chien; croquettes; 4 pattes;
canard; pain; 2 pattes;
poule; mais; 2 pattes;
lapin; carotte; 4 pattes;
Pour cela, je fais une requête via linq
string cheminCSV = System.IO.Path.GetFullPath(@"..\..\fichier.CSV");
var lecture = File.ReadAllLines(cheminCSV);
var AccountItems = from line in File.ReadAllLines(cheminCSV).Skip(1)
from line in lecture
let columns = line.Split(';')
where columns[2] == "2 pattes"
select (columns[0]);
Ce code qui fonctionne m'affiche canard et poule.
Maintenant je souhaiterais rajouter la colonne de la nourriture. mais il ne me semble pas possible de choisir 2 colonnes via "select", le code
string cheminCSV = System.IO.Path.GetFullPath(@"..\..\fichier.CSV");
var lecture = File.ReadAllLines(cheminCSV);
var AccountItems = from line in File.ReadAllLines(cheminCSV).Skip(1)
from line in lecture
let columns = line.Split(';')
where columns[2] == "2 pattes"
select (columns[0], columns[1] );
select (columns[0], columns[1] ); ne fonctionne pas. Une idée?
chambreur
Messages postés30Date d'inscriptionmardi 19 août 2008StatutMembreDernière intervention15 mai 2014 5 févr. 2014 à 14:41
C'est bon, j'ai réussie à trouver.
Il faut passer par une classe interne (anonyme)
string cheminCSV = System.IO.Path.GetFullPath(@"..\..\fichier.CSV");
var lecture = File.ReadAllLines(cheminCSV);
var AccountItems = from line in File.ReadAllLines(cheminCSV).Skip(1)
from line in lecture
let columns = line.Split(';')
where columns[2] == "2 pattes"
select new { Nom = columns[0], Nourriture = columns[1] };