Así que copiar y pegar un programa de demostración del libro que estoy usando para aprender Python:CSV Módulo AttributeError
#!/usr/bin/env python
import csv
total = 0
priciest = ('',0,0,0)
r = csv.reader(open('purchases.csv'))
for row in r:
cost = float(row[1]) * float(row[2])
total += cost
if cost == priciest[3]:
priciest = row + [cost]
print("You spent", total)
print("Your priciest purchase was", priciest[1], priciest[0], "at a total cost of", priciest[3])
Y me sale el error:
Traceback (most recent call last):
File "purchases.py", line 2, in <module>
import csv
File "/Users/Solomon/Desktop/Python/csv.py", line 5, in <module>
r = csv.read(open('purchases.csv'))
AttributeError: 'module' object has no attribute 'read'
Por qué sucede esto? ¿Cómo lo arreglo? Actualizar: Se corrigieron todos los errores Ahora estoy recibiendo:
Traceback (most recent call last):
File "purchases.py", line 6, in <module>
for row in r:
_csv.Error: line contains NULL byte
lo que sucedía en términos de la CSV.py: que tenía un archivo con el mismo nombre en código csv.py , guardado en el mismo directorio. Pensé que el hecho de que fue nombrado .py csv se atornilla para arriba, así que empecé un nuevo archivo llamado purchases.py, pero se olvidó de borrar csv
también asegúrese de eliminar (si está presente) cualquier archivo 'csv.pyc' que se haya creado en la importación – bernie
Lo hice :) Gracias. – Billjk
Tenía el mismo error, por la misma razón –