strptime 未更改 Excel 中的日期格式

strptime not changing date fomat in Excel

我正在阅读 table 并写入 CSV。我有一些要更改日期格式的列。下面是我的一些代码

    for row in out[1]:
        dt = datetime.datetime.strptime(row[18], '%Y-%m-%d %H:%M:%S.%f')
        row[18] = dt.strftime('%Y-%m-%d)
        print(row[18])

它似乎确实将日期格式更改为我正在寻找的格式,因为打印语句显示的一样多,但是当我打开它写的 excel sheet 时,日期格式就像 11/12/2019 而不是 2020-11-12。

有什么建议吗?我试图防止在打开后手动更改格式日期 excel

很有可能,Excel 向您展示的并不是基础数据。 Excel 显示时自动格式化字段。因此,如果它打开一个 CSV 文件并看到 2020-11-12,它将识别它是一个日期并将其显示为格式化的日期字段。如果您想将字段保存为文本,Excel 将知道它是文本,则单元格必须以“'”开头。尝试添加:

row[18] = dt.strftime('\'%Y-%m-%d')