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

请问如何用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 打赏 评论
  • xuwenlu21 2021-03-28 11:51

    问题已解决,小白万分感激!

    点赞 打赏 评论
  • 有问必答小助手 2021-03-29 10:40

    您好,我是问答小助手,看到您的问题已被解答,欢迎您加入CSDN!

    目前问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论

相关推荐 更多相似问题