如何使用pandas.DataFrame.to_csv来编写带有毫秒的pandas.Timestamp?

问题描述 投票:0回答:1

假设我有一个包含带有

pandas.Timestamp
对象的列的 DataFrame,如下所示:

pandas.Timestamp('2019-12-10T17:16:49.467000000')

如何指定

date_format
函数的
pandas.DataFrame.to_csv
参数以毫秒而不是微秒接收 CSV 文件?

我试过这样:

df.to_csv('!test.csv', sep='\t', index=False, date_format='%d.%m.%Y %H:%M:%S.%f')

但它给出的字符串是这样的:

10.12.2019 17:16:49.467000

我需要这样的字符串:

10.12.2019 17:16:49.467

python-3.x pandas datetime-format
1个回答
0
投票

您不能直接使用,但您可以在导出之前对列进行预处理:

def dt_to_str(s):
    if pd.api.types.is_datetime64_dtype(s):
        return s.dt.strftime('%d.%m.%Y %H:%M:%S.%f').str[:-3]
    return s

df.apply(dt_to_str).to_csv('!test.csv', sep='\t', index=False)

输出:

num date
1   10.12.2019 17:16:49.467
© www.soinside.com 2019 - 2024. All rights reserved.