Решение 1: Если вы хотите удалить имена столбцов из самого текстового файла, то для этого вам нужно знать, с какой строки начинается информация об имени столбца, а затем прочитатьфайл построчно и выполните обработку для определенных строк, которые, как вы знаете, имеют имена столбцов в виде текста.
Чтобы ответить на конкретный вопрос, который вы задали, предположим, что переменная line
содержит одну из строк, скажем line = Len. (cm) :length of the object
, вы можете выполнить разбиение на основе регулярных выражений, при котором вы разбиваете любой специальный символ, кроме цифри алфавиты.
import re
splited_line = re.split(r"[^a-zA-Z0-9]", line) #add other characters which you don't want
print(splited_line)
Это приводит к
['Len', ' ', 'cm', ' ', 'length of the object']
Далее, чтобы получить имя столбца, вы выбираете первый элемент из списка как splited_line[0]
Решение 2: Если вы уже знаете имена столбцов, вы можете просто набрать
df.columns = ['Len','Hei','Tp']
Вот полное решение для того, что вы ищете:
In [34]: f = open('text.txt', "rb")
...: flag = False
...: column_names = []
...: for line in f:
...: splited_line = re.split(r"[^a-zA-Z0-9~]", line.decode('utf-8'))
...: if splited_line[0] == "Measurement":
...: flag = True
...: continue
...: elif splited_line[0] == "~A":
...: flag = False
...: if flag == True:
...: column_names.append(splited_line[0])