【问题标题】:Datetime format in python is not as same as formatpython中的日期时间格式与格式不同
【发布时间】:2018-06-10 09:32:23
【问题描述】:

我的数据框中有一个日期,格式如下

"2018-05-01"
"2018-05-02"
"2018-05-03"

我想在我的 JSON 中将日期转换为类似的内容

"2018-05-01T00:00:00.000Z"
"2018-05-02T00:00:00.000Z"

我曾尝试使用pd.to_datetime(df['date']) 但结果在我的 JSON 文件中变成了类似于 1523404800000 的东西。我应该怎么做才能在我的 JSON 中获得像 "2018-05-02T00:00:00.000Z" 这样的格式?

【问题讨论】:

    标签: python json datetime date-format


    【解决方案1】:

    你在df.to_json()中寻找date_format='iso'

    完整示例:

    import pandas as pd
    
    csvdata = '''\
    date
    2018-05-01
    2018-05-02
    2018-05-03'''
    
    fileobj = pd.compat.StringIO(csvdata)
    df = pd.read_csv(fileobj, sep='\s+')
    
    # without conversion
    print(df.to_json()) 
    
    # with conversion
    df['date'] = pd.to_datetime(df['date'])
    print(df.to_json()) 
    
    # with conversion and adding date_format = iso
    print(df.to_json(date_format='iso'))
    

    打印:

    {"date":{"0":"2018-05-01","1":"2018-05-02","2":"2018-05-03"}}
    {"date":{"0":1525132800000,"1":1525219200000,"2":1525305600000}}
    {"date":{"0":"2018-05-01T00:00:00.000Z","1":"2018-05-02T00:00:00.000Z","2":"2018-05-03T00:00:00.000Z"}}
    

    【讨论】:

    • 感谢安东。完美运行。我也可以将空值转换为 \u0000 吗?
    • @Ducker 现在这是一个更难的问题。可能使用一些字符串替换?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 2018-04-17
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多