csvreader.fieldnames pas reconnu comme un attribut d'un fichier csv reader objet en python

Je suis en train d'extraire l'en-tête d'un fichier CSV en Python en utilisant le module CSV.

Le fichier CSV est assez plat, et ressemble à quelque chose comme:

Ce, Que, De L'Autre

1, 2, 3

Je suis en train de faire les suivants:

  1. Lire dans le fichier CSV et faire l'objet de lecteur de
  2. pousser le lecteur de l'itérateur à la ligne suivante pour forcer l'accès à la première ligne au moins une fois (à partir de la csv documentation du module: "Si pas passé en paramètre lors de la création de l'objet, cet attribut est initialisé lors de la première de l'accès ou lorsque le premier enregistrement est lu à partir du fichier.")
  3. de l'affectation de la .fieldnames attribuer à une variable et l'imprimer

voici un extrait de code pour illustrer:

datafile = open(fname, "rb")
reader = csv.reader(datafile) #use csv module to parse in the header
reader.next() # read next line so header will be accessed
rfd_header = reader.fieldnames

print "header:\n"
print rfd_header

Cela entraîne une erreur:

AttributeError: '_csv.reader", l'objet n'a pas d'attribut "fieldnames'

Qui sonne comme le .fieldnames attribut n'est pas là, mais dans la documentation de Python 2.6.6 (même version de python, j'utilise)

J'apprécierais toute réflexion dans ce mystère. Si il y a une autre méthode pour extraire l'en-tête qui serait génial aussi!

Grâce.

OriginalL'auteur Jeff | 2010-10-15