Buenas, alguien sabe como crear un Dataframe a partir de txt cuando los espacios de separación entre columnas vienen datos a intervalos f...

Emmanuel Corral Marco

Emmanuel Corral Marco

Pregunta
studenthace 4 años

Buenas, alguien sabe como crear un Dataframe a partir de txt cuando los espacios de separación entre columnas vienen datos a intervalos fijos. Por ejemplo, col1 con 20 espacios, col2 con 30 espacios, col3 con 3 espacios… querria definir un dataframe a partir de ese txt y luego añadirle un encabezado apartir de un esquema que ya tengo.

Saludos

4 respuestas
para escribir tu comentario
    Magdiel Gutiérrez

    Magdiel Gutiérrez

    studenthace 3 años

    delimiter = " " spark.read.format(file_type)
    .option("sep", delimiter)

    Emmanuel Corral Marco

    Emmanuel Corral Marco

    studenthace 4 años

    Buenas gente, esto intente hacerlo con expresiones regulares y la función split, es algo potente y util. Sin embargo, en este caso es muchisimo mejor usar un método que viene de serie en spark. Se llama Substring().

    pyspark.sql.functions.substring(str, pos, len)

    str es el campo que contiene el string, pos es la posición en de inicio y len la longitud del string.

    Haciendo uso de esto puedes ir añadiendo diferentes columnas que cumplan con el espaciado de substring que quieras.

    Saludos

    Pamela Hernández García

    Pamela Hernández García

    studenthace 4 años

    A mi se me ocurre que con python podrías hacer un split de cada linea de tu txt e ir llenando el dataframe. Quizá con un esto dentro de un loop que tiene como tope el número de líneas de tu texto.

    Federico Nahuel Gonzalez

    Federico Nahuel Gonzalez

    studenthace 4 años

    Hola! Pudiste resolver el problema? Me gustaria conocer el modo en el que pudiste encontrar la solucion. La unica manera que se me viene a la cabeza es con loops

Curso de Fundamentos de Spark para Big Data

Curso de Fundamentos de Spark para Big Data

Aprende a manejar grandes volúmenes de datos con Apache Spark. Crea procesos ETL, trabaja con RDDs y DataFrames, optimiza consultas y aprende sobre la persistencia y particionado para mejorar el rendimiento en Big Data.

Curso de Fundamentos de Spark para Big Data
Curso de Fundamentos de Spark para Big Data

Curso de Fundamentos de Spark para Big Data

Aprende a manejar grandes volúmenes de datos con Apache Spark. Crea procesos ETL, trabaja con RDDs y DataFrames, optimiza consultas y aprende sobre la persistencia y particionado para mejorar el rendimiento en Big Data.