in read_stall_retry/metrics_collector.py [0:0]
def process_csv(file: str, fs) -> Tuple[Optional[str], Optional[str], pd.DataFrame]:
"""Processes a single CSV file and extracts timestamps and data."""
try:
with fs.open(file, 'r') as f:
df = pd.read_csv(f)
if not df.empty:
return df['Timestamp'].iloc[0], df['Timestamp'].iloc[-1], df
else:
return None, None, pd.DataFrame()
except KeyError:
logger.error(f"Error processing file {file}: Required columns 'Timestamp' not found.")
return None, None, pd.DataFrame()
except pd.errors.EmptyDataError:
logger.warning(f"Empty data in file {file}.")
return None, None, pd.DataFrame()
except Exception as e:
logger.error(f"Error processing file {file}: {e}")
return None, None, pd.DataFrame()