Python “模块”对象没有属性“现在”将尝试创建 CSV
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19231458/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
'module' object has no attribute 'now' will trying to create a CSV
提问by GioBot
Hello I'm having problems importing to csv, I get that error, the problem is that I have the same code running in other machine and it runs perfectly. What am I missing do I need to install an other library for this?.
您好,我在导入到 csv 时遇到问题,出现该错误,问题是我在其他机器上运行了相同的代码,并且运行完美。我缺少什么我需要为此安装其他库吗?
def exportar_a_csv_grl(request):
#Fecha actual
hoy = datetime.now().date()
#Creado el:
creado_hoy = hoy.strftime("%m/%d/%Y")
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment;filename="Reporte de Miembros ' + creado_hoy + '.csv"'
response['Content-Type'] = 'text/csv; charset=utf-8'
response.write("\xEF\xBB\xBF")
writer = csv.writer(response)
miembros = Miembro.objects.all().extra(select={'miem_monto': "aplicacionmediexcel_miembro_monto.monto"},
tables=["aplicacionmediexcel_miembro_monto"], where=[
"""aplicacionmediexcel_miembro.id=aplicacionmediexcel_miembro_monto.miembro_id"""])
#.extra(select = {'precio':'''select aplicacionmediexcel_miembro_monto.monto from aplicacionmediexcel_miembro_monto, aplicacionmediexcel_miembro where aplicacionmediexcel_miembro.id = aplicacionmediexcel_miembro_monto.miembro_id'''})
miembros_colec = Miembro_colec.objects.all().extra(
select={'miem_monto': "aplicacionmediexcel_colectivo_miembro_monto.monto"},
tables=["aplicacionmediexcel_colectivo_miembro_monto"],
where=["""aplicacionmediexcel_miembro_colec.id=aplicacionmediexcel_colectivo_miembro_monto.miembro_colec_id"""])
dependientes = Dependiente.objects.all()
dependientes_colec = Dependiente_colec.objects.all()
writer.writerow(['Creado el: ' + creado_hoy + ' '])
writer.writerow([''])
#csv_data = (
# ('ID Miembro', 'Apellido Paterno', 'Nombre', 'MI', 'Numero de Seguro Social', 'Tipo de contratacion','Tier', 'Tipo de dependiente', 'Fecha de nacimiento', 'Edad', 'Sexo', 'Estado Civil', 'Correo Electronico', 'Domicilio', 'Ciudad','Estado', 'Codigo Postal', 'Telefono', 'Idioma', 'Region de servicio', 'Medico', 'Fecha Efectiva', 'Tipo Plan', 'Grupo', 'Monto'),
#)
writer.writerow(
['ID Miembro', 'Apellido Paterno', 'Nombre', 'MI', 'Número de Seguro Social', 'Tipo de contratación',
'Tier', 'Tipo de dependiente', 'Fecha de nacimiento', 'Edad', 'Sexo', 'Estado Civil', 'Correo Electrónico',
'Domicilio', 'Ciudad',
'Estado', 'Código Postal', 'Teléfono', 'Idioma', 'Región de servicio', 'Médico', 'Actividad', 'Fecha Efectiva',
'Fecha Renovación', 'Tipo Plan', 'Grupo', 'Monto'])
#t = loader.get_template('my_template_name.txt')
#c = Context({
# 'miembros': miembros,
#})
#response.write(t.render(c))
采纳答案by karthikr
You probably have
你可能有
import datetime
change that to
将其更改为
from datetime import datetime
Demo:
演示:
>>> import datetime
>>> datetime.now()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'now'
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2013, 10, 7, 13, 57, 18, 456504)
>>>
Also, you will run into issues due to indentation. Please fix those.
此外,由于缩进,您会遇到问题。请修复那些。
回答by Yash Rastogi
i had the same problem when i used
我在使用时遇到了同样的问题
from datetime import datetime,date,timedelta
import pytz
utc=pytz.UTC
today = datetime.now().replace(tzinfo=utc)
Solution for this which i will suggest is to import all the dependencies
我建议的解决方案是导入所有依赖项
from datetime import *
import pytz
utc=pytz.UTC
today = datetime.now().replace(tzinfo=utc)
回答by Rizwan Mumtaz
When you do
当你做
import datetime
you have to use
你必须使用
>>> datetime.datetime.now()
datetime.datetime(2016, 12, 14, 1, 15, 58, 606802)
otherwise if you import like
否则,如果您像这样导入
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2016, 12, 14, 1, 17, 31, 772406)
But on some machine you could refer to wrong datetime module because of sys.path , instead of doing from datetime import datetime
or import datetime
make a habbit of using
但是在某些机器上,由于 sys.path ,您可能会引用错误的 datetime 模块,而不是使用from datetime import datetime
或import datetime
习惯使用
from datetime import datetime as dt