Python CSV не имеет атрибута "Writer"

есть немного кода, дающего мне проблемы. Он отлично работал в другом сценарии, который у меня был, но я, должно быть, как-то испортил его.

на if csv: в первую очередь потому, что я полагался на опцию-csv в argparser. Но даже если бы я должен был запустить это с соответствующими отступами за пределами if statement, он по-прежнему возвращает ту же ошибку.

import csv

if csv:
    with open('output.csv', 'wb') as csvfile:
        csvout = csv.writer(csvfile, delimiter=',',
            quotechar=',', quoting=csv.QUOTE_MINIMAL)
        csvout.writerow(['A', 'B', 'C'])
        csvfile.close()

дает мне:

Traceback (most recent call last):
  File "import csv.py", line 34, in <module>
    csvout = csv.writer(csvfile, delimiter=',',
AttributeError: 'str' object has no attribute 'writer'

если я удалить if statement, Я:

Traceback (most recent call last):
  File "C:import csv.py", line 34, in <module>
    csvout = csv.writer(csvfile, delimiter=',',
AttributeError: 'NoneType' object has no attribute 'writer'

какую глупость я делаю не так? Я попытался изменить имя файла на такие вещи, как test.py как я увидел, что в другом посте так, не сработало.

2 ответов


если вы установили что-то, что назначает csv (выглядит как строка), затем вы затеняете импорт модуля. Итак, самое простое-просто изменить все, что назначено csv это не модуль и назвали его иначе...

в действительности происходит следующее:

import csv
csv = 'bob'
csvout = csv.writer(somefile)

удалить дальнейшее назначение csv и идти оттуда...


для меня я назвал свой файл csv.py. Поэтому, когда я import csv из этого файла я по существу пытался импортировать тот же самый файл.