Python csv writer重新格式化datetime以包含秒

Mar*_*ark 5 python csv datetime

使用Python,我在列表中有一个datetime对象.程序执行期间我想要的日期时间格式是(%Y /%m /%d%H:%M).

然后,我使用csv.writer和writerows(在列表列表中)来保存文件.

但是,当我打开文本文件时,所有日期和时间现在都包括秒,00.

为什么保存文件导致秒被添加到时间?

编辑显示值和代码:这是对象的打印:datetime.datetime(2014,3,17,8,10)

with open(FinalSaveFileName, 'wb') as ffn:
w = csv.writer(ffn, dialect = 'excel-tab')
w.writerows(List)
Run Code Online (Sandbox Code Playgroud)

在Notepad ++(非Excel)中打开,"2014-03-17 08:10:00"为此列打开.

And*_*son 2

看起来您的日期时间被强制转换为默认格式的字符串。如果您想使用其他格式的日期,请在将它们发送到 csv.writer 之前自行将它们转换为字符串。这里有一个很好的例子:

import datetime

with open('file.csv','w') as outputfile:
    for row in rows:
        wrtr = csv.writer(outputfile, delimiter=',', quotechar='"')
        #change row[1] to wherever your datetime is
        row[1] = row[1].strftime('%Y/%m/%d %H:%M')
        wrtr.writerow(row)
Run Code Online (Sandbox Code Playgroud)

  • 我已经实现了这个,但希望可以在 csv writer 中做一些事情来避免这种重新格式化,因为日期时间没有秒信息。 (2认同)