2222
2323eye_tracker_shift_hours = 4
2424
25- def concat_files4data_source (filenames , path , index_col ):
25+ def concat_files4data_source (filenames , path , index_col , sep = ',' ):
2626 df_result = pd .DataFrame ()
2727 for filename in filenames :
28- df_addition = pd .read_csv (path + filename )
28+ df_addition = pd .read_csv (path + filename , sep = sep )
2929 df_addition .set_index (index_col , inplace = True )
3030 df_result = pd .concat ([df_result , df_addition ])
3131
@@ -34,13 +34,14 @@ def concat_files4data_source(filenames, path, index_col):
3434data_dict = {}
3535
3636data_sources = [
37- 'arduino_0' ,
38- 'arduino_1' ,
39- 'arduino_2' ,
37+ # 'arduino_0',
38+ # 'arduino_1',
39+ # 'arduino_2',
4040 'polar_heart_rate' ,
41- 'face_temperature' ,
41+ # 'face_temperature',
4242 'eye_tracker' ,
43- 'input' ,
43+ 'mouse' ,
44+ 'keyboard' ,
4445 'EEG' ,
4546]
4647
@@ -58,6 +59,7 @@ def concat_files4data_source(filenames, path, index_col):
5859
5960 # for arduino_id in [0, 1, 2]:
6061 for data_source in data_sources :
62+ sep = ','
6163 # df4arduino = pd.DataFrame()
6264 # filename_prefix = f'arduino_{arduino_id}'
6365 # data_source = f'arduino_{arduino_id}'
@@ -73,18 +75,42 @@ def concat_files4data_source(filenames, path, index_col):
7375 path2data_source = data_path4player + data_source + '/'
7476 filenames = sorted (os .listdir (path2data_source ))
7577 filenames_filtered = [filename for filename in filenames if not (filename .startswith ('game' ) or filename .startswith ('.' ))]
76- df_data_source = concat_files4data_source (filenames_filtered , path2data_source , index_col = 'Timestamp' )
78+ if data_source == 'eye_tracker' :
79+ filenames_filtered = [filename for filename in filenames_filtered if filename .startswith ('tobii_pro_gaze' )]
80+ index_col = '#timestamp'
81+ elif data_source in ['mouse' , 'keyboard' , 'EEG' ]:
82+ index_col = 'time'
83+ sep = ';'
84+ else :
85+ index_col = 'Timestamp'
86+
87+ # pd.read_csv(path2data_source + filenames_filtered[0], sep=';')
88+ df_data_source = concat_files4data_source (filenames_filtered , path2data_source , index_col = index_col , sep = sep )
89+ df_data_source .index .name = 'Timestamp'
90+
91+ if data_source == 'eye_tracker' :
92+ # break
93+ df_data_source .index = pd .to_datetime (df_data_source .index + 3600 * 4 * 1000 , unit = 'ms' )
94+ df_data_source .index = df_data_source .index .astype (str )
95+ df_data_source .index = [index .replace (' ' , '-' ) for index in df_data_source .index ]
96+ # df_data_source.index = df_data_source.index.apply(lambda x: x.timestamp())
97+
98+ # df_data_source.rename(columns={'#timestamp': 'Timestamp'}, inplace=True)
99+ # df_data_source.set_index(['Timestamp'], inplace=True)
77100 # df_data_source.index = pd.to_datetime(df_data_source.index)
78101 # df_data_source.index = df_data_source.index.apply(lambda x: x.timestamp())
79102 df_data_source .sort_index (inplace = True )
80103
104+
81105 for n_row , row in games_start_end_times .iterrows ():
82106 game_num = row ['game_num' ]
83107 game_start_time = row ['game_start' ]
84108 game_end_time = row ['game_end' ]
85109 path4game_folder = data_path4player + data_source + '/' + f'game_{ game_num } '
86110 if not os .path .exists (path4game_folder ):
87111 os .mkdir (path4game_folder )
112+
113+ # break
88114 mask4game = (game_start_time < df_data_source .index ) & (df_data_source .index < game_end_time )
89115 df_data_source .loc [mask4game ].to_csv (data_path4player + data_source + '/' + f'game_{ game_num } /' + data_source + '.csv' )
90116
@@ -97,14 +123,14 @@ def concat_files4data_source(filenames, path, index_col):
97123 # player_data_dict[data_source] = df_data_source
98124
99125 # ### Eye tracker
100- # filenames_with_prefix = [filename for filename in filenames if filename.startswith('tobii')]
126+ # # filenames_with_prefix = [filename for filename in filenames if filename.startswith('tobii')]
101127 # df_eyetracker = concat_files4data_source(filenames_with_prefix, index_col='#timestamp')
102128 # df_eyetracker.index = pd.to_datetime(df_eyetracker.index + 3600 * 4 * 1000, unit='ms')
103- # # df_eyetracker.index = df_eyetracker.index.apply(lambda x: x.timestamp())
129+ # df_eyetracker.index = df_eyetracker.index.apply(lambda x: x.timestamp())
104130 # df_eyetracker.sort_index(inplace=True)
105131 # df_eyetracker = df_eyetracker.resample('1s').mean()
106132 # player_data_dict['eye_tracker'] = df_eyetracker
107-
133+ #
108134 # data_dict[player_id] = player_data_dict
109135
110136
0 commit comments