Удалить строки, содержащие определенный шаблон

Я новичок в Python и Pandas, я потратил много времени на поиск, но не смог найти ответ на мою конкретную проблему.

У меня есть dataframe, где первые несколько строк – это только комментарии, начинающиеся с '#', за которыми следует обычный фреймворк данных, содержащий строки и столбцы. У меня есть сотни таких текстовых файлов, которые мне нужно читать и манипулировать. Например:

'#' blah1

'#' blah2

'#' blah3

Столбец1 Столбец2 Столбец3

a1 b1 c1

a2 b2 c2

и т.п.

Я хочу удалить все строки, начинающиеся с «#». Может кто-нибудь сказать мне, как это сделать в Пандах, предпочтительно?

Кроме того, я попытался использовать следующий код для чтения в текстовом файле:

my_input=pd.read_table(filename, comment='#', header=80) 

Но проблема заключалась в том, что строка заголовка отличается для каждого текстового файла. Есть ли способ обобщить и рассказать Python, что мой заголовок лежит ниже этой последней строки, которая начинается с «#»?

Обновление до pandas 0.14.1 или выше позволяет вам правильно пропустить прокомментированные строки.

Старые версии оставят строки в виде NaN, которые можно отбросить с помощью .dropna (), но оставить сломанный заголовок.

Для более старых версий панд вы можете использовать «skiprows», предполагая, что знаете, сколько строк прокомментировано.

В работе [3]:

 s = "# blah1\n# blah2\n# blah3\nCol1 Col2 Col3\na1 b1 c1\na2 b2 c2\n" pd.read_table(StringIO(s), skiprows=3, sep=' ') 

Из [3]:

 Col1 Col2 Col3 0 a1 b1 c1 1 a2 b2 c2