我需要分析存储在csv文件中的一些数据。每个文件代表3个设备的输出,每个设备具有不同的数据采样率和不同的时间戳约定。我想匹配每个csv文件的时间戳,以便我可以将单个主题中的所有数据整理成一个文件,并使用它放入R中。
不同的时间戳约定在
之下装置1(电镀皮肤反应):
04/12/2012 14:17
设备2(心率监测器):
14:16:13
设备3(我们要求科目执行的实际任务):
134941
我认为这意味着13:49:41。
我知道每个实验的执行日期,所以这只是我需要匹配的时间。
数据表示心率,受试者的皮肤电反应以及用户输入平板电脑的结果。我需要将他们在任务上的表现与皮肤电导率和心率的变化联系起来 - 这就是为什么我需要匹配这些时间。
例如,根据我们使用的各种实验条件,每个人都有一个单独的皮肤响应文件和一个单独的一个心率,但是有多个文件(具有相似的时间)用于我们的任务。我宁愿不亲自做这个匹配任务,因为这些文件中有~300个。
答案 0 :(得分:2)
使用time模块的 strptime()方法将日期解析为时间对象,使用 strftime()以特定格式打印出来(如果需要)
示例:
import time
device1 = '04/12/2012 14:17'
device2 = '14:16:13'
device3 = '134941'
time1 = time.strptime(device1, '%m/%d/%Y %H:%M')
time2 = time.strptime(device2, '%H:%M:%S')
time3 = time.strptime(device3, '%H%M%S')
请注意,任何仅为小时/分钟/秒的解析时间或其任何子集将默认为日期为1900-01-01。但是,如果你所做的只是从解析的struct_time对象中提取时间部分,它将不会影响你。否则,在解析字符串时,您需要为它们分配正确的日期:
time2 = time.strptime('04/12/2012 ' + device2, '%m/%d/%Y %H:%M:%S')