5
5
import json
6
6
7
7
8
+
9
+ st .sidebar .header ("Upload your CSV!" )
10
+ st .sidebar .write ("Make sure your CSV file contains a 'review' or 'user_review' column." )
11
+
12
+ uploaded_file = st .sidebar .file_uploader ("Choose a CSV file" , type = "csv" )
13
+
8
14
with open ('Movie_Animated.json' , encoding = 'utf-8' ) as anim_source :
9
15
animation_data = json .load (anim_source )
10
16
st_lottie (animation_data , 1 , True , True , "high" , 150 , - 100 )
30
36
</style>
31
37
""" , unsafe_allow_html = True )
32
38
39
+
33
40
st .markdown ('<div class="centered">' , unsafe_allow_html = True )
34
41
st .markdown ('<h1 class="yellow-headline">Movie Review Analysis</h1>' , unsafe_allow_html = True )
35
42
@@ -45,6 +52,44 @@ def load_data(file):
45
52
try :
46
53
return pd .read_csv (file , encoding = 'utf-8' )
47
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
+
48
93
try :
49
94
return pd .read_csv (file , encoding = 'latin1' )
50
95
except UnicodeDecodeError :
@@ -85,3 +130,4 @@ def load_data(file):
85
130
st .write ("Please upload a CSV file to proceed." )
86
131
87
132
st .markdown ('</div>' , unsafe_allow_html = True )
133
+
0 commit comments