从String中省略datetime.date

时间:2018-04-27 07:38:28

标签: python sql

以下查询选择日期,然后选择数据库中的三个值

db = MySQLdb.connect("host1","user","pass","db")
cursor = db.cursor()
cursor.execute("select report_date, ROUND(SUM(balance), 2) as 'Net', ROUND(SUM(short_mkt_value), 2) as 'Short', ROUND(SUM(int_balance ), 2) as 'Long' from intersum_recap where group_name = 'Carter' group by report_date order by report_date desc")
rows = cursor.fetchall()
for row in rows:
    print row

当它返回日期时,它不会按照我的意愿返回2018-3-29,而是返回" datetime.date(2018,3,29)"

如何按照我的意愿以YYYY-MM-DD格式打印日期?

1 个答案:

答案 0 :(得分:1)

将列表作为一个单元打印时,列表中的项目将使用__repr__方法转换为字符串。相反,您希望datetime.date使用其__str__方法。有几种不同的方法可以实现这一目标。一种相当简单的方法是使用列表推导将行中的所有项转换为字符串,然后将它们连接成一个字符串。例如

print(', '.join([str(u) for u in row]))