【问题标题】:pandas.to_json output date format in specific formpandas.to_json 以特定形式输出日期格式
【发布时间】:2023-04-03 12:26:01
【问题描述】:

dataframe中日期的原始形式为:

Date                                                                   
2018-09-17          12.83  12.92  12.38  12.65         12.65  1937329.0
2018-09-10          12.92  13.12  12.81  12.83         12.83  1150470.0

转成json后df.to_json(orient='index',date_format='iso') 它看起来像这样:

"2018-09-17T00:00:00Z":{"

有什么办法解决这个问题?

【问题讨论】:

    标签: python json pandas datetime


    【解决方案1】:

    最简单的解决方法是首先将您的 datetime 系列转换为 object dtype 系列字符串:

    df['Date'] = df['Date'].dt.strftime('%Y-%m-%d')
    

    我建议您仅将其作为 json 转换之前的最后一步,因为您会失去矢量化计算的好处,并且可能会看到内存使用效率较低。

    【讨论】:

      【解决方案2】:

      您也可以使用此替代方法:

      df = pd.read_json('test.json')
      df['date_hour'] = [datetime.strptime(date[0:10],'%Y-%m-%d').date() for date in 
      df['date_hour']]
      

      您可以在我的回答中阅读更多关于类似主题的信息 - https://stackoverflow.com/a/56280982/11222127

      【讨论】:

        【解决方案3】:

        第一个是如果您在这部分中遇到错误“.dt.strftime('%m-%d-%Y')”

        df['date'] = pd.to_datetime(df['date'], errors='coerce')
        df['date'] = df['date'].dt.strftime('%m-%d-%Y')
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-17
          • 1970-01-01
          • 2014-12-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多