【问题标题】:How to export to excel datetime in Django 1.7如何在 Django 1.7 中导出到 Excel 日期时间
【发布时间】:2015-07-19 16:46:13
【问题描述】:

我正在使用 Django 1.7、Python 3.4 和 PostgreSQL 9.1。 我需要将一些查询集导出到 Excel。作为起点,我使用本指南:outputting-excel-with-django

在我的模型中,我有一个字段作为 日期时间,在 utils.py 中我已经添加了一个样式:(datetime.datetime, xlwt.easyxf(num_format_str='DD/MM/YYYY HH:MM:SS')),

但是当我尝试导出我的数据时,我得到一个类型错误:can't subtract offset-naive and offset-aware datetimes

谁能帮我解决这个问题? 谢谢

【问题讨论】:

    标签: python django excel datetime python-3.x


    【解决方案1】:

    您的问题显然是由于aware and naive datetimes

    你必须让你知道日期时间对象。您可以为此安装 pytz

    pip install pytz
    

    然后让你的日期时间对象知道:

    import pytz
    
    (pytz.utc.localize(datetime.datetime), xlwt.easyxf(num_format_str='DD/MM/YYYY HH:MM:SS')),
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢,但在我插入 (pytz.utc.localize(datetime.datetime), xlwt.easyxf(num_format_str='DD/MM/YYYY HH:MM:SS')), 后,我得到一个 ValueError Not naive datetime (tzinfo is already set)
    • 也许可以试试 datetime.datetime.astimezone(pytz.timezone('America/Chicago')) ?
    • 抱歉回复晚了。是的,它很有效,对我帮助很大。谢谢!
    【解决方案2】:

    您可以为此使用 xlsxwriter
    https://pypi.python.org/pypi/XlsxWriter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 2014-05-16
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多