Untitled

 avatar
unknown
plain_text
5 months ago
1.4 kB
3
Indexable
import os
import sys
import pandas as pd


class VaR:
    def __init__(self, _ipath):
        self.ipath = _ipath

    def leer_fichero(self, file_name):
        """
        Lee un archivo CSV, reemplaza valores vacíos por 'ALL',
        y guarda el archivo procesado en la misma ubicación con el mismo formato.
        """
        # Obtener ruta completa del archivo
        file_path = os.path.join(self.ipath, file_name)

        # Leer el archivo CSV
        dataframe = pd.read_csv(file_path, sep=';', low_memory=False)

        # Reemplazar valores vacíos por 'ALL'
        dataframe = dataframe.applymap(lambda x: "ALL" if pd.isna(x) or str(x).strip() == "" else x)

        # Guardar el archivo procesado con el mismo nombre y formato
        dataframe.to_csv(file_path, sep=';', index=False)

        return dataframe


if __name__ == "__main__":
    sys.dont_write_bytecode = True
    pd.options.mode.chained_assignment = None

    # Obtener el directorio de entrada desde los argumentos de la línea de comandos
    ipath = sys.argv[1]
    var = VaR(ipath)

    # Procesar cada archivo en el directorio
    for file in os.listdir(ipath):
        if file.endswith('.csv'):  # solo procesa archivos CSV
            modified_df = var.leer_fichero(file)
            print(f"File correctly processed: {file}")

    print("OK")
Editor is loading...
Leave a Comment