
Emmanuel Corral Marco
PreguntaBuenas, 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

Magdiel Gutiérrez
delimiter = " "
spark.read.format(file_type)
.option("sep", delimiter)

Emmanuel Corral Marco
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
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
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