J'ai un fichier CSV qui ressemble à ceci: et ne peut pas se débarrasser du est Il est possible de vérifier si une ligne commence avec une date et ne lisez que celles qui font? P> p> "test" code> string. p>
4 Réponses :
Lorsque vous obtenez la ligne code> à partir du csv.reader code>, et lorsque vous pouvez être sûr que le premier élément est une chaîne, vous pouvez utiliser
if not row[0].startswith('TEST'):
process(row)
SkipRows: Liste similaire ou entier
Numéros de ligne pour sauter (0-indexé) ou nombre de lignes à sauter (int) p>
blockQuote>
passe
[0, 6] code> pour ignorer des lignes avec "test". P>
Je crains de savoir comment de telles lignes ressemblent, pas de leurs index.
from cStringIO import StringIO import pandas s = StringIO() with open('file.csv') as f: for line in f: if not line.startswith('TEST'): s.write(line) s.seek(0) # "rewind" to the beginning of the StringIO object pandas.read_csv(s) # with further parametersâ¦
Une autre option, car je viens de courir dans ce problème aussi: Il est moins portable que @ Eumiro's (lu: ne fonctionne probablement pas sous Windows) et nécessite la lecture du fichier deux fois, Mais a l'avantage de ne pas avoir à stocker tout le contenu du fichier en mémoire. P> Vous pouvez bien sûr faire la même chose que le grep dans Python, mais ce serait probablement plus lent. p> p>