Parsing DD MM YY HH MM SS columns from TXT file using Python's pandas

后端 未结 1 604
情话喂你
情话喂你 2020-12-06 21:52

Thank you all for your time in advance. I have a number of space delimited text files in the format;

    29 04 13 18 15 00    7.667
    29 04 13 18 30 00            


        
相关标签:
1条回答
  • 2020-12-06 22:24

    I think it's going to be easier just to parse the dates them when reading the csv:

    In [1]: df = pd.read_csv('0132_3.TXT', header=None, sep='\s+\s', parse_dates=[[0]])
    
    In [2]: df
    Out[2]:
                        0      1
    0 2013-04-29 00:00:00  7.667
    1 2013-04-29 00:00:00  7.000
    2 2013-04-29 00:00:00  7.000
    3 2013-04-29 00:00:00  7.333
    4 2013-04-29 00:00:00  7.000
    

    Since you're using a unusual date format you need to specify a date parser too:

    In [11]: def date_parser(ss):
                 day, month, year, hour, min, sec = ss.split()
                 return pd.Timestamp('20%s-%s-%s %s:%s:%s' % (year, month, day, hour, min, sec))
    
    In [12]: df = pd.read_csv('0132_3.TXT', header=None, sep='\s+\s', parse_dates=[[0]], date_parser=date_parser)
    
    In [13]: df
    Out[13]:
                        0      1
    0 2013-04-29 18:15:00  7.667
    1 2013-04-29 18:30:00  7.000
    2 2013-04-29 18:45:00  7.000
    3 2013-04-29 19:00:00  7.333
    4 2013-04-29 19:15:00  7.000
    
    0 讨论(0)
提交回复
热议问题