使用pandas读取文件时的Datetime头

2024-09-28 21:03:01 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我有一个类似这样的数据集:

2011-11-01 05:20:00 00:10:00
#    z  speed    dir      W   sigW       bck   error 
30   4.76  238.9   0.01   0.13  7.56E+06       0
40   5.24  237.1  -0.05   0.12  5.99E+06       0
50   6.33  236.6  -0.01   0.12  7.24E+06       0
60   7.06  237.3  -0.01   0.12  9.15E+06       0
70   7.85  238.2  -0.02   0.13  8.47E+06       0
80   8.85  237.3  -0.03   0.14  1.05E+07     256

2011-11-01 05:30:00 00:10:00
#    z  speed    dir      W   sigW       bck   error 
30   4.40  234.8   0.08   0.12  1.33E+07       0
40   5.07  234.2   0.11   0.12  5.82E+06       0
50   5.75  234.3   0.12   0.12  6.61E+06       0
60   6.56  232.4   0.08   0.13  6.39E+06       0
70   7.22  233.2   0.10   0.13  5.64E+06       0
80   8.15  235.3   0.12   0.14  5.87E+06     256

在那里,一整天每隔10分钟,它就用日期-时间标题将数据块分割成这样的块。我想读入这些标题并将它们存储为时间变量。到目前为止,我是这样读到的:

^{pr2}$

skiprows语句暂时跳过这些时间标头。我有一个变量hub-wspd,我感兴趣的还有时间头。有没有一种方法可以读入这些时间标题并将它们存储为变量,而不会弄乱我已经做的事情?谢谢!在


Tags: 数据标题dir时间error语句感兴趣hub
1条回答
网友
1楼 · 发布于 2024-09-28 21:03:01

如果您想将它们存储为datetime,那么可以编写一个小方法,在解析头行之后返回一个datetime变量。在

像这样的东西

import datetime

def parse_date(string):
    # Split the string into year/month/date, time, and seconds
    split_string = string.split()
    # get year month and date
    year = split_string[0].split('-')[0]
    month = split_string[0].split('-')[1]
    date = split_string[0].split('-')[2]

    # get hour minute second
    hour = split_string[1].split(':')[0]
    min = split_string[1].split(':')[1]
    second = split_string[1].split(':')[2]

    return datetime.datetime(year, month, date, hour=hour, minute=min, second=second)

datetime documentation

编辑-完全删除计数器,只需查找以“20”开头的行:

^{pr2}$

相关问题 更多 >