import gradio as gr import pandas as pd # Function to compare datasets def compare_datasets(reference_file, user_file): # Read the Excel files reference_df = pd.read_excel(reference_file.name) user_df = pd.read_excel(user_file.name) # Flatten both datasets to 1D arrays of numbers (ignoring NaN and other non-numeric data) reference_numbers = reference_df.select_dtypes(include=['number']).values.flatten() user_numbers = user_df.select_dtypes(include=['number']).values.flatten() # Convert both arrays to sets for faster comparison reference_set = set(reference_numbers) user_set = set(user_numbers) # Find the numbers in the user's dataset that are present in the reference dataset common_numbers = reference_set.intersection(user_set) missing_numbers = reference_set.difference(user_set) # Prepare results if common_numbers: common_numbers_result = f"Found these numbers in the user's dataset: {', '.join(map(str, common_numbers))}" else: common_numbers_result = "No common numbers found." if missing_numbers: missing_numbers_result = f"Missing these numbers in the user's dataset: {', '.join(map(str, missing_numbers))}" else: missing_numbers_result = "All reference numbers are present." return common_numbers_result, missing_numbers_result # Create the Gradio interface iface = gr.Interface( fn=compare_datasets, inputs=[ gr.File(label="Upload Your Reference Dataset (Excel)"), gr.File(label="Upload User's Dataset (Excel)"), ], outputs=[ gr.Textbox(label="Common Numbers Found"), gr.Textbox(label="Missing Numbers"), ], title="Excel Dataset Comparison Tool", description="Upload your dataset and the user's dataset to check which numbers match and which are missing.", ) # Launch the app iface.launch() import gradio as gr import pandas as pd # Function to compare datasets def compare_datasets(reference_file, user_file): # Read the Excel files reference_df = pd.read_excel(reference_file.name) user_df = pd.read_excel(user_file.name) # Flatten both datasets to 1D arrays of numbers (ignoring NaN and other non-numeric data) reference_numbers = reference_df.select_dtypes(include=['number']).values.flatten() user_numbers = user_df.select_dtypes(include=['number']).values.flatten() # Convert both arrays to sets for faster comparison reference_set = set(reference_numbers) user_set = set(user_numbers) # Find the numbers in the user's dataset that are present in the reference dataset common_numbers = reference_set.intersection(user_set) missing_numbers = reference_set.difference(user_set) # Prepare results if common_numbers: common_numbers_result = f"Found these numbers in the user's dataset: {', '.join(map(str, common_numbers))}" else: common_numbers_result = "No common numbers found." if missing_numbers: missing_numbers_result = f"Missing these numbers in the user's dataset: {', '.join(map(str, missing_numbers))}" else: missing_numbers_result = "All reference numbers are present." return common_numbers_result, missing_numbers_result # Create the Gradio interface iface = gr.Interface( fn=compare_datasets, inputs=[ gr.File(label="Upload Your Reference Dataset (Excel)"), gr.File(label="Upload User's Dataset (Excel)"), ], outputs=[ gr.Textbox(label="Common Numbers Found"), gr.Textbox(label="Missing Numbers"), ], title="Excel Dataset Comparison Tool", description="Upload your dataset and the user's dataset to check which numbers match and which are missing.", ) # Launch the app iface.launch()