4

csv.DictReader クラスを使用して csv ファイルを読み込んでいます。class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds) というpythonドキュメントを読みました

fieldnames パラメータを省略すると、csvfile の最初の行の値がフィールド名として使用されます。

辞書の keys() メソッドを使用して、csv ファイルの最初の行を取得しようとしました。

my_reader = csv.DictReader(src)
print(my_reader.keys())

これを行うと、次のエラーが発生します。

    print(my_reader.keys())
    AttributeError: 'DictReader' object has no attribute 'keys'

なんで?

4

1 に答える 1

3

フィールド名は属性に保存されますfieldnames:

my_reader = csv.DictReader(src)
print(my_reader.fieldnames)

keysdictメソッドです。my_readerディクテーションではありません。ただし、辞書を生成するのは反復子であるため、次のようにすることもできます。

for row in my_reader:
    print(row.keys())
于 2013-07-01T20:43:01.057 に答える