xuwenlu21 2021-03-27 22:33 采纳率: 50%
浏览 791
已采纳

请问如何用python将csv文件中的一列13位时间戳转换为“年月日时分秒”?

请问如何用python将csv文件中的一列13位时间戳转换为“年月日时分秒”,就在时间戳的后面新增一列或者写成新的csv文件?

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2021-03-27 23:41
    关注

    使用pandas和datetime,首先从csv中读取数据,获得一个数据框,然后对日期列进行转换。示例:

    import pandas as pd 
    from datetime import datetime
    import numpy as np
    
    #首先用df=pd.read_csv()读取csv,这里为说明转换方法,构造一个dataframe。
    df=pd.DataFrame({'ID':['001','002','003'],'date':[1592544785115,1592549872561,1592564875324],'flags':[0,0,0],'temp':[25,26,24]})
    
    df['date'] = df['date'].astype(np.int64)#转换data列为整型数据,保证了date即使是浮点,字串都能通过下面代码进行转换。
    df['ndate']=pd.to_datetime(df['date'].map(lambda x:datetime.fromtimestamp(int(x/1000)).strftime('%Y-%m-%d %H:%M:%S')))
    df=df[['ID','date','ndate','flags','temp']]
    print(df)
    print(df.ndate.dtype)#datetime64[ns]
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?