Calculating Working Hours
10/10/24Less than 1 minute
Script for calculating claim hours
import pandas as pd
import re
claim_info = """
16 May 2024 Project Name 3 hrs Approved
17 May 2024 Project Name 2 hrs Approved
20 May 2024 Project Name 2 hrs 30 mins Approved
21 May 2024 Project Name 4 hrs 30 mins Approved
22 May 2024 Project Name 1 hr 30 mins Approved
27 May 2024 Project Name 2 hrs 30 mins Approved
28 May 2024 Project Name 4 hrs 30 mins Approved
31 May 2024 Project Name 2 hrs 30 mins Approved
04 Jun 2024 Project Name 4 hrs Submitted
05 Jun 2024 Project Name 4 hrs Submitted
07 Jun 2024 Project Name 2 hrs Submitted
04 Jun 2024 Project Name 4 hrs Approved
05 Jun 2024 Project Name 4 hrs Approved
"""
df_all_info = pd.DataFrame(
[list(filter(lambda x: len(x) > 0, i.split("\t"))) for i in filter(lambda x: len(x) > 0, claim_info.split("\n"))]
)
df_all_info.columns = ["Date", "Role", "Hours", "Status"]
# Regular expression to capture hours and minutes
pattern = r'(\d+)\s+hrs(?:\s+(\d+)\s+mins)?'
total= 0
for i in df_all_info[df_all_info["Status"] == "Approved"]["Hours"]:
matches = re.findall(pattern, i)
if len(matches) > 0:
hour, minute = matches[0]
total += int(f"0{hour}") + int(f"0{minute}")/60
print("Total Claim Hours:", total)