Ratings / app.py
DataWizard9742's picture
Update app.py
354524a
import streamlit as st
import pandas as pd
from textblob import TextBlob
def load_data(csv_file):
df = pd.read_csv(csv_file)
return df
def convert_to_rating(sentiment):
if sentiment > 0:
return 5
elif sentiment == 0:
return 3
else:
return 1
def main():
st.title("Review to Rating Converter")
# Upload CSV file
uploaded_file = st.file_uploader("Upload a CSV file", type="csv")
if uploaded_file is not None:
# Load the CSV file
df = load_data(uploaded_file)
# Perform sentiment analysis and convert to ratings
df['Sentiment'] = df['Reviews'].apply(lambda x: TextBlob(x).sentiment.polarity)
df['Rating'] = df['Sentiment'].apply(convert_to_rating)
# Display the converted ratings
st.subheader("Converted Ratings:")
st.dataframe(df[['Reviews', 'Rating']])
# Download the converted ratings as CSV
st.download_button(
label="Download Converted Ratings",
data=df[['Reviews', 'Rating']].to_csv(index=False),
file_name="converted_ratings.csv",
mime="text/csv"
)
if __name__ == '__main__':
main()