Python将datetime导出到cs

2024-10-01 09:37:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个密码

import csv

def export_failures_all(request):
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="failures.csv"'

    writer = csv.writer(response, delimiter=';', dialect = 'excel')
    response.write(u'\ufeff'.encode('utf8'))
    writer.writerow(['Maszyna', 'Wydział', 'Opis', 'Data dodania', 'Data rozpoczęcia naprawy', 'Data zakończenia naprawy', 'Zgłaszający', 'Przyjęte przez', 'Status'])
    awarie = Awaria.objects.all().values_list('maszyna__nazwa', 'wydzial__nazwa', 'description', 'add_date', 'repair_date', 'remove_date', 'user__username', 'sur__username', 'status__nazwa').order_by('-id')

    for awaria in awarie:
        writer.writerow(awaria)

    return response

我遇到的问题是add_daterepair_dateremove_date,因为有{},在csv文件中它们是以秒为单位的:

^{pr2}$

我想要这样:

2017-02-14 09:50

2017-02-14 08:38

有什么办法吗?在


Tags: csvadddatadateresponseusernameallremove
1条回答
网友
1楼 · 发布于 2024-10-01 09:37:03

在格式化之前,请执行以下操作:

my_datetime.strftime("%Y-%m-%d %H:%M")

来自How do I turn a python datetime into a string, with readable format date?

更新列表中的所有日期(假设它是一个列表列表)

values_list = [[x.strftime("%Y-%m-%d %H:%M") if isinstance(x, datetime.datetime) else x for x in row] for row in values_list]

相关问题 更多 >