2016-01-02 4 views
1

Итак, я пытаюсь использовать модуль csv в python 3.3.2, но я получаю эту ошибку.Python csv import failed

Traceback (most recent call last): 
     File "C:\Users\massi_000\Desktop\csv.py", line 1, in <module> 
     import csv 
     File "C:\Users\massi_000\Desktop\csv.py", line 4, in <module> 
     csv.reader(f) 
    AttributeError: 'module' object has no attribute 'reader' 

Очевидно, что я собираюсь что-то колоссально неправильно, но весь код, я использую ниже, и она выглядит хорошо. Что-то изменилось в этой версии, которая сделала этот код непригодным или ...?

import csv 
f = open("test.csv") 
csv.reader(f) 
for row in csv_fi: 
    print(row) 
f.close() 

ответ

3

Вы назвали ваш файл csv.py и это конфликтует с csv модуля из стандартной библиотеки Python.

Вы должны переименовать свой собственный файл в другое, чтобы import csv импортировал стандартный библиотечный модуль, а не ваш собственный. Это может сбивать с толку, но это правильное правило: продолжайте: избегайте давать свои собственные имена файлов Python, которые совпадают с модулями в стандартной библиотеке.

0

Как сказал @Simeon Visser, вы должны переименовать свой файл, но у вас есть и другие проблемы с вашим кодом. Попробуйте следующее:

import csv 
with open('test.csv', newline='') as f: 
    reader = csv.reader(f, delimiter=' ') 
    for row in reader: 
     print (', '.join(row))