Skip to content

Commit e8ac08a

Browse files
authored
Merge pull request #218 from Ishitva744/main
Fixed Movie_Analysis Page
2 parents e97329e + f5e1d6f commit e8ac08a

File tree

2 files changed

+44
-78
lines changed

2 files changed

+44
-78
lines changed

Web_app/pages/1_Movie_Analysis.py

Lines changed: 42 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -46,88 +46,54 @@
4646

4747

4848
uploaded_file = st.file_uploader("Upload your CSV file", type="csv")
49+
#option selection for the type of file encoding
50+
option = st.selectbox('Select file encoding: ' , ['utf-8', 'latin1'], index=None)
4951

5052
if st.button('Enter'):
51-
def load_data(file):
52-
try:
53-
return pd.read_csv(file, encoding='utf-8')
54-
except UnicodeDecodeError:
55-
56-
st.error("File encoding not supported. Please upload a CSV file with UTF-8 or Latin1 encoding.")
57-
return None
58-
59-
if uploaded_file is not None:
60-
reviews_df = load_data(uploaded_file)
61-
62-
if reviews_df is not None:
63-
st.write("Data Preview:")
64-
st.write(reviews_df.head())
65-
66-
st.write("Column Names:")
67-
st.write(reviews_df.columns.tolist())
68-
69-
# Check for 'review' or 'user_review' columns
70-
review_column = None
71-
if 'review' in reviews_df.columns:
72-
review_column = 'review'
73-
elif 'user_review' in reviews_df.columns:
74-
review_column = 'user_review'
75-
76-
if review_column:
77-
st.write("Sentiment Analysis:")
78-
sentiment_df, analyzed_df = analyze_reviews(reviews_df)
79-
st.write(sentiment_df)
80-
81-
st.write("Analyzed DataFrame with Sentiments:")
82-
st.write(analyzed_df.head())
83-
84-
st.write("Movie Recommendations:")
85-
recommendations = recommend_movies(analyzed_df)
86-
st.write(recommendations)
87-
else:
88-
st.error("The uploaded CSV file does not contain a 'review' or 'user_review' column.")
89-
else:
90-
st.write("Please upload a CSV file to proceed.")
91-
st.write("Make sure your CSV file contains a 'review' or 'user_review' column.")
92-
53+
if option is not None:
54+
def load_data(file):
9355
try:
94-
return pd.read_csv(file, encoding='latin1')
56+
return pd.read_csv(file, encoding=option)
9557
except UnicodeDecodeError:
58+
9659
st.error("File encoding not supported. Please upload a CSV file with UTF-8 or Latin1 encoding.")
9760
return None
98-
99-
if uploaded_file is not None:
100-
reviews_df = load_data(uploaded_file)
101-
102-
if reviews_df is not None:
103-
st.write("Data Preview:")
104-
st.write(reviews_df.head())
105-
106-
st.write("Column Names:")
107-
st.write(reviews_df.columns.tolist())
108-
109-
# Check for 'review' or 'user-review' columns
110-
review_column = None
111-
if 'review' in reviews_df.columns:
112-
review_column = 'review'
113-
elif 'user_review' in reviews_df.columns:
114-
review_column = 'user_review'
115-
116-
if review_column:
117-
st.write("Sentiment Analysis:")
118-
sentiment_df, analyzed_df = analyze_reviews(reviews_df)
119-
st.write(sentiment_df)
120-
121-
st.write("Analyzed DataFrame with Sentiments:")
122-
st.write(analyzed_df.head())
123-
124-
st.write("Movie Recommendations:")
125-
recommendations = recommend_movies(analyzed_df)
126-
st.write(recommendations)
127-
else:
128-
st.error("The uploaded CSV file does not contain a 'review' or 'user_review' column.")
61+
62+
if uploaded_file is not None:
63+
reviews_df = load_data(uploaded_file)
64+
65+
if reviews_df is not None:
66+
st.write("Data Preview:")
67+
st.write(reviews_df.head())
68+
69+
st.write("Column Names:")
70+
st.write(reviews_df.columns.tolist())
71+
72+
# Check for 'review' or 'user_review' columns
73+
review_column = None
74+
if 'review' in reviews_df.columns:
75+
review_column = 'review'
76+
elif 'user_review' in reviews_df.columns:
77+
review_column = 'user_review'
78+
79+
if review_column:
80+
st.write("Sentiment Analysis:")
81+
sentiment_df, analyzed_df = analyze_reviews(reviews_df, review_column)
82+
st.write(sentiment_df)
83+
84+
st.write("Analyzed DataFrame with Sentiments:")
85+
st.write(analyzed_df.head())
86+
87+
st.write("Movie Recommendations:")
88+
recommendations = recommend_movies(analyzed_df)
89+
st.write(recommendations)
90+
else:
91+
st.error("The uploaded CSV file does not contain a 'review' or 'user_review' column.")
92+
else:
93+
st.write("Please upload a CSV file to proceed.")
94+
st.write("Make sure your CSV file contains a 'review' or 'user_review' column.")
12995
else:
130-
st.write("Please upload a CSV file to proceed.")
131-
96+
st.write('No file encoding option selected.')
97+
13298
st.markdown('</div>', unsafe_allow_html=True)
13399

Web_app/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
from sklearn.svm import SVC
44
from sklearn.metrics import classification_report
55

6-
def analyze_reviews(df):
6+
def analyze_reviews(df,col):
77
vectorizer = TfidfVectorizer()
8-
X = vectorizer.fit_transform(df['review'])
8+
X = vectorizer.fit_transform(df[col])
99

1010
# Dummy sentiment labels for demonstration (replace with actual sentiment labels)
1111
y = [1 if i % 2 == 0 else 0 for i in range(len(df))]

0 commit comments

Comments
 (0)