diff --git a/src/aiidalab_qe/app/utils/search_jobs.py b/src/aiidalab_qe/app/utils/search_jobs.py
index a7c44c61..bf3d81f8 100644
--- a/src/aiidalab_qe/app/utils/search_jobs.py
+++ b/src/aiidalab_qe/app/utils/search_jobs.py
@@ -37,14 +37,22 @@ def load_data(self):
results = qb.all()
df = pd.DataFrame(results, columns=headers)
- for index, row in df.iterrows():
- df.at[index, "Creation time"] = row["ctime"].strftime("%Y-%m-%d %H:%M:%S")
- df.at[index, "Delete"] = (
- f"""Delete"""
+ # Check if DataFrame is not empty
+ if not df.empty:
+ df["Creation time"] = df["ctime"].apply(
+ lambda x: x.strftime("%Y-%m-%d %H:%M:%S")
)
- df.at[index, "Inspect"] = (
- f"""Inspect"""
+ df["Delete"] = df["PK"].apply(
+ lambda pk: f'Delete'
)
+ df["Inspect"] = df["PK"].apply(
+ lambda pk: f'Inspect'
+ )
+ else:
+ # Initialize empty columns for an empty DataFrame
+ df["Creation time"] = pd.Series(dtype="str")
+ df["Delete"] = pd.Series(dtype="str")
+ df["Inspect"] = pd.Series(dtype="str")
return df[
[
"PK",