web-dev-qa-db-fra.com

Ignorer la première ligne (champ) en boucle à l'aide d'un fichier CSV?

Duplication possible: Lors du traitement de données CSV, comment puis-je ignorer la première ligne de données?

J'utilise python pour ouvrir un fichier CSV. J'utilise une boucle de formule mais je dois ignorer la première ligne car elle comporte un en-tête.

Jusqu'ici, je me souviens de quelque chose comme ça, mais il manque quelque chose: je me demande si quelqu'un connaît le code de ce que j'essaie de faire.

for row in kidfile:
    if row.firstline = false:  # <====== Something is missing here.
        continue
    if ......
31
Raitis Kupce

Vous voulez probablement quelque chose comme:

firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line

Un autre moyen d'obtenir le même résultat est d'appeler readline avant la boucle:

kidfile.readline()   # skip the first line
for row in kidfile:
    #parse the line
48
Bakuriu

Il y a plusieurs façons de sauter la première ligne. En plus de ceux de Bakuriu, j'ajouterais:

with open(filename, 'r') as f:
    next(f)
    for line in f:

et:

with open(filename,'r') as f:
    lines = f.readlines()[1:]
94
Andrea

csvreader.next () Retourne la ligne suivante de l’objet itérable du lecteur sous forme de liste, analysée en fonction du dialecte actuel.

22
user2037553