Spaces:
Build error
Build error
| import streamlit as st | |
| import pandas as pd | |
| import numpy as np | |
| from sklearn.feature_extraction.text import TfidfVectorizer | |
| from nltk.tokenize import word_tokenize | |
| from nltk.corpus import stopwords | |
| from base64 import b64encode, b64decode | |
| from datetime import datetime | |
| import os | |
| # Funciones para procesar texto | |
| def procesar_texto(texto): | |
| # Tokenizar texto | |
| tokens = word_tokenize(texto) | |
| # Eliminar stopwords | |
| tokens = [token for token in tokens if token not in stopwords.words('spanish')] | |
| # Vectorizar texto | |
| vectorizer = TfidfVectorizer() | |
| vector = vectorizer.fit_transform(tokens) | |
| return vector | |
| # Funciones para modificar archivos | |
| def modificar_archivo(archivo, cambios): | |
| # Leer archivo | |
| df = pd.read_excel(archivo) | |
| # Aplicar cambios | |
| df = df.apply(cambios) | |
| # Guardar archivo | |
| df.to_excel(archivo, index=False) | |
| # Funciones para reemplazar caracteres | |
| def reemplazar_caracteres(archivo, caracter, reemplazo): | |
| df = pd.read_excel(archivo) | |
| df = df.replace(caracter, reemplazo, regex=True) | |
| df.to_excel(archivo, index=False) | |
| # Funciones para eliminar columnas | |
| def eliminar_columnas(archivo, columnas): | |
| df = pd.read_excel(archivo) | |
| df = df.drop(columnas, axis=1) | |
| df.to_excel(archivo, index=False) | |
| # Funciones para comparar archivos | |
| def comparar_archivos(archivo1, archivo2, columna1, columna2): | |
| df1 = pd.read_excel(archivo1) | |
| df2 = pd.read_excel(archivo2) | |
| df_comparado = pd.merge(df1, df2, on=[columna1, columna2], how='outer', indicator=True) | |
| df_comparado.to_excel('comparacion.xlsx', index=False) | |
| # Funciones para unir hojas | |
| def unir_hojas(archivos, salida): | |
| dfs = [] | |
| for archivo in archivos: | |
| df = pd.read_excel(archivo) | |
| dfs.append(df) | |
| df_unido = pd.concat(dfs, ignore_index=True) | |
| df_unido.to_excel(salida, index=False) | |
| # Interfaz de usuario | |
| st.title("App de procesamiento de texto y modificaci贸n de archivos") | |
| # Secci贸n de procesamiento de texto | |
| st.header("Procesamiento de texto") | |
| texto = st.text_area("Ingrese texto para procesar") | |
| if st.button("Procesar texto"): | |
| vector = procesar_texto(texto) | |
| st.write(vector) | |
| # Secci贸n de modificaci贸n de archivos | |
| st.header("Modificaci贸n de archivos") | |
| archivo = st.file_uploader("Seleccione archivo para modificar") | |
| cambios = st.text_area("Ingrese cambios para aplicar") | |
| if st.button("Modificar archivo"): | |
| if archivo and cambios: | |
| modificar_archivo(archivo, cambios) | |
| st.write("Archivo modificado con 茅xito") | |
| # Secci贸n de reemplazar caracteres | |
| st.header("Reemplazar caracteres") | |
| archivo = st.file_uploader("Seleccione archivo para reemplazar caracteres") | |
| caracter = st.text_input("Ingrese caracter a reemplazar") | |
| reemplazo = st.text_input("Ingrese reemplazo") | |
| if st.button("Reemplazar caracteres"): | |
| if archivo and caracter and reemplazo: | |
| reemplazar_caracteres(archivo, caracter, reemplazo) | |
| st.write("Caracteres reemplazados con 茅xito") | |
| # Secci贸n de eliminar columnas | |
| st.header("Eliminar columnas") | |
| archivo = st.file_uploader("Seleccione archivo para eliminar columnas") | |
| columnas = st.text_input("Ingrese columnas a eliminar") | |
| if st.button("Eliminar columnas"): | |
| if archivo and columnas: | |
| eliminar_columnas(archivo, columnas) | |
| st.write("Columnas eliminadas con 茅xito") | |
| # Secci贸n de comparar archivos | |
| st.header("Comparar archivos") | |
| archivo1 = st.file_uploader("Seleccione primer archivo para comparar") | |
| archivo2 = st.file_uploader("Seleccione segundo archivo para comparar") | |
| columna1 = st.text_input("Ingrese columna para comparar en primer archivo") | |
| columna2 = st.text_input("Ingrese columna para comparar en segundo archivo") | |
| if st.button("Comparar archivos"): | |
| if archivo1 and archivo2 and columna1 and columna2: | |
| comparar_archivos(archivo1, archivo2, columna1, columna2) | |
| st.write("Archivos comparados con 茅xito") | |
| # Secci贸n de unir hojas | |
| st.header("Unir hojas") | |
| archivos = st.file_uploader("Seleccione archivos para unir", accept_multiple_files=True) | |
| salida = st.text_input("Ingrese nombre de archivo de salida") | |
| if st.button("Unir hojas"): | |
| if archivos and salida: | |
| unir_hojas(archivos, salida) | |
| st.write("Hojas unidas con 茅xito") | |
| # Secci贸n de muestra | |
| st.header("Muestra") | |
| muestra = st.file_uploader("Seleccione archivo para mostrar") | |
| if st.button("Mostrar muestra"): | |
| if muestra: | |
| df = pd.read_excel(muestra) | |
| st.write(df.head()) |