BananaSauce's picture
Update second.py
9ca7e46
raw
history blame
3.29 kB
import pandas as pd
import streamlit as st
import csv
import io
import matplotlib.pyplot as plt
import numpy as np
from pre import preprocess_uploaded_file
def double_main(uploaded_file1,uploaded_file2):
# st.title('Single CSV Analyzer')
if uploaded_file1 is not None and uploaded_file2 is not None:
# Process the csv files with header
data_1 = preprocess_uploaded_file(uploaded_file1)
data_2 = preprocess_uploaded_file(uploaded_file2)
if data_1['Start datetime'].min() < data_2['Start datetime'].min():
older_df = data_1
newer_df = data_2
else:
older_df = data_2
newer_df = data_1
older_df['Time spent'] = pd.to_datetime(older_df['Time spent'], unit='s').dt.strftime('%M:%S')
newer_df['Time spent'] = pd.to_datetime(newer_df['Time spent'], unit='s').dt.strftime('%M:%S')
older_datetime = older_df['Start datetime'].min()
newer_datetime = newer_df['Start datetime'].min()
st.write(f"The older csv started on {older_datetime}")
st.write(f"The newer csv started on {newer_datetime}")
# Merge dataframes on 'scenario name'
merged_df = pd.merge(older_df, newer_df, on=['Functional area', 'Scenario name'], suffixes=('_old', '_new'))
# Filter scenarios that were failing and are still failing
fail_to_fail_scenarios = merged_df[(merged_df['Status_old'] == 'FAILED') & (merged_df['Status_new'] == 'FAILED')]
st.markdown("### Consistent Failures(previously failing, now failing)")
fail_count = len(fail_to_fail_scenarios)
st.write(f"Failing scenarios Count: {fail_count}")
# Select columns for display
columns_to_display = ['Functional area', 'Scenario name', 'Error message_old', 'Error message_new']
# Display the selected columns using st.write
st.write(fail_to_fail_scenarios[columns_to_display])
# Filter scenarios that were passing and now failing
pass_to_fail_scenarios = merged_df[(merged_df['Status_old'] == 'PASSED') & (merged_df['Status_new'] == 'FAILED')]
st.markdown("### New Failures(previously passing, now failing)")
pass_fail_count = len(pass_to_fail_scenarios)
st.write(f"Failing scenarios Count: {pass_fail_count}")
# Select columns for display
columns_to_display = ['Functional area', 'Scenario name', 'Error message_new', 'Time spent_old','Time spent_new',]
# Display the selected columns using st.write
st.write(pass_to_fail_scenarios[columns_to_display])
# Filter scenarios that were failing and now passing
fail_to_pass_scenarios = merged_df[(merged_df['Status_old'] == 'FAILED') & (merged_df['Status_new'] == 'PASSED')]
# Display filtered dataframe in Streamlit app
st.markdown("### New Failures(previously failing, now passing)")
pass_count = len(fail_to_pass_scenarios)
st.write(f"Passing scenarios Count: {pass_count}")
# Select columns for display
columns_to_display = ['Functional area', 'Scenario name', 'Error message_old', 'Time spent_old','Time spent_new',]
# Display the selected columns using st.write
st.write(fail_to_pass_scenarios[columns_to_display])
pass