Как я могу разбить строку без пробелов в текстовом формате, чтобы сделать кадр данных в Python? - PullRequest
0 голосов
/ 27 октября 2019

У меня есть такой текст:

1989MaiteyCarlos
2015mamasypadres

И у меня есть код для разделения слов и создания различных столбцов для DataFrame. Код:

txt1=pd.read_table(r'C:\Users\TOSHIBA\Desktop\prueba.txt',header=None)

txt1['anno'] = txt1[0].apply(lambda x: x[:4])
txt1['chica'] = txt1[0].apply(lambda x: x[4:9])
txt1['chico'] = txt1[0].apply(lambda x: x[10:])

Мне нужно сделать общую функцию, чтобы решить проблему. Я попробовал это с этим кодом:

def read_txt (df,columnas,rangos):
    for i,j in zip(columnas,rangos):
        for k in j:
            df[i] = df[0].apply(lambda x: x[k])
    return df

Но результат был неудачным.

Как я могу сделать эту функцию?

1 Ответ

0 голосов
/ 28 октября 2019

Я решил проблему. функция, которую я использовал:

def read_txt (df,columnas,rangos):
    for i,j in zip(columnas,rangos):
        df[i] = df[0].apply(lambda x: x[j[0]:j[1]])
    return df

data = read_txt (txt1,['anno','chica','chico'],[[0,4],[4,9],[10,16]])
...