File size: 1,166 Bytes
a35916e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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)