# modules/utils.py import pandas as pd def save_results_to_csv(sentiment_results: list, summaries: list, filepath: str = "results.csv"): """ Save sentiment analysis and summaries into a CSV file. """ data = [] for i, sent in enumerate(sentiment_results): summary = summaries[i]["summary"] if i < len(summaries) else "" data.append({ "Text": sent.get("text", ""), "Sentiment": sent.get("label", ""), "Score": sent.get("score", 0.0), "Summary": summary }) df = pd.DataFrame(data) df.to_csv(filepath, index=False, encoding="utf-8") return filepath def display_dataframe(sentiment_results: list, summaries: list): """ Create a pandas DataFrame for displaying results inside UI. """ data = [] for i, sent in enumerate(sentiment_results): summary = summaries[i]["summary"] if i < len(summaries) else "" data.append({ "Text": sent.get("text", ""), "Sentiment": sent.get("label", ""), "Score": sent.get("score", 0.0), "Summary": summary }) return pd.DataFrame(data)