¿Cómo puedo dividir una columna en 2 de la manera correcta?

Soy una tabla de sitios web de un sitio web y la coloco en el archivo de Excel. Mi objective es dividir las columnas en 2 columnas de la manera correcta.

Las columnas que quiero dividir: “VUELO”.

Quiero este formulario:

Primer ejemplo: KL744 -> KL y 0744

Segundo ejemplo: BE1013 -> BE y 1013

Por lo tanto, necesito separar los primeros 2 caracteres (en la primera columna), y luego los siguientes caracteres que son 1-2-3-4 caracteres. Si 4 es oke, lo conservo, si es 3, quiero poner un 0 antes de él, si 2: quiero poner 00 antes de él (así que mi objective es obtener 4 caracteres / número en la segunda columna).

¿Cómo puedo hacer esto?

Aquí mi código relevante, que ya contiene un código de formato.

df2 = pd.DataFrame(datatable,columns = cols) df2["UPLOAD_TIME"] = datetime.now() mask = np.column_stack([df2[col].astype(str).str.contains(r"Scheduled", na=True) for col in df2]) df3 = df2.loc[~mask.any(axis=1)] if os.path.isfile("output.csv"): df1 = pd.read_csv("output.csv", sep=";") df4 = pd.concat([df1,df3]) df4.to_csv("output.csv", index=False, sep=";") else: df3.to_csv df3.to_csv("output.csv", index=False, sep=";") 

Aquí el excel prt sc de mi mesa:

introduzca la descripción de la imagen aquí

Puedes usar indexación con str con zfill :

 df = pd.DataFrame({'FLIGHT':['KL744','BE1013']}) df['a'] = df['FLIGHT'].str[:2] df['b'] = df['FLIGHT'].str[2:].str.zfill(4) print (df) FLIGHT ab 0 KL744 KL 0744 1 BE1013 BE 1013 

Creo que en tu código necesitas:

 df2 = pd.DataFrame(datatable,columns = cols) df2['a'] = df2['FLIGHT'].str[:2] df2['b'] = df2['FLIGHT'].str[2:].str.zfill(4) df2["UPLOAD_TIME"] = datetime.now() ... ...