|
46 | 46 |
|
47 | 47 |
|
48 | 48 | 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) |
49 | 51 |
|
50 | 52 | 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): |
93 | 55 | try:
|
94 |
| - return pd.read_csv(file, encoding='latin1') |
| 56 | + return pd.read_csv(file, encoding=option) |
95 | 57 | except UnicodeDecodeError:
|
| 58 | + |
96 | 59 | st.error("File encoding not supported. Please upload a CSV file with UTF-8 or Latin1 encoding.")
|
97 | 60 | 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.") |
129 | 95 | else:
|
130 |
| - st.write("Please upload a CSV file to proceed.") |
131 |
| - |
| 96 | + st.write('No file encoding option selected.') |
| 97 | + |
132 | 98 | st.markdown('</div>', unsafe_allow_html=True)
|
133 | 99 |
|
0 commit comments