Вы выходите из строя. ОС не имеет значения. Все, что имеет значение, это версия панд, которую вы используете.

ираю таблицы с веб-сайта и помещаю их в файл Excel. Моя цель - правильно разделить столбцы на 2 столбца.

Колонны, которые я хочу разбить: «ПОЛЕТ»

Я хочу эту форму:

Первый пример: KL744 -> KL и 0744

Второй пример: BE1013 -> BE и 1013

Итак, мне нужно разделить первый символ 2 (в первом столбце), а после этого следующие символы, которые 1-2-3-4 символа. Если 4 - хорошо, я сохраняю его, если 3, я хочу поставить 0 перед ним, если 2: я хочу поставить 00 перед ним (поэтому моя цель - получить 4 символа / числа во втором столбце.)

Как я могу это сделать?

Вот мой соответствующий код, который уже содержит код форматирования.

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=";")

Вот превосходный prt sc из моей таблицы:

Ответы на вопрос(1)

Решение Вопроса

Вы можете использоватьиндексация по ул с участием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   a     b
0   KL744  KL  0744
1  BE1013  BE  1013

Я считаю, что в вашем коде нужно:

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()
...
...
 Harley02 окт. 2017 г., 10:55
'([A-Z] +) (\ d +)'? Иногда мой первый символ начинается с 0 (ноль)
 Dark02 окт. 2017 г., 10:58
@ Харли, тебе не нужно использовать первую строку ответа. Это потому, что вы не дали нам текстовые данные. Просто используйте вторую и третью строку, чтобы выполнить свою работу.
 Dark02 окт. 2017 г., 11:03
Вы выходите из строя. ОС не имеет значения. Все, что имеет значение, это версия панд, которую вы используете.
 jezrael02 окт. 2017 г., 10:58
Первая строка - это только пример кода, он не нужен.
 Harley02 окт. 2017 г., 10:56
что я могу написать вместо этого: "KL744", BE1013 ", чтобы разделить все данные в этом столбце?

Ваш ответ на вопрос