Я пытаюсь разобрать текстовый файл, созданный еще в 99 году, с которым немного сложно справиться.Заголовки находятся в первой строке и разделены символом «^» (весь файл разделен символом «^»).Проблема заключается в том, что есть символы, которые могут быть добавлены (например, длинные строки пробелов отделяют заголовки от остальных точек данных в файле. (Пример файла расположен по адресу https://www.chicagofed.org/applications/bhc/bhc-home Мой пример былссылка на Q3 1999).
Проблемы: 1) Слишком много заголовков, чтобы создать их вручную, и мне нужно сделать это для многих файлов, которые могут иметь новые заголовки, когда мы продвигаемся вперед или назад в течение временного ряда 2) Мне нужновоссоздать заголовки из файла, а затем удалить их, чтобы не загрязнять всю первую строку дубликатами заголовков.Я понимаю, что, возможно, смогу нарезать информационный фрейм [1:] по факту и просто избавиться от него, но это неаккуратно, и я уверен, что есть лучший способ.3) незарегистрированные поля по компаниям отображаются как «^^^^^^^^^», что хорошо, но будут ли панды автоматически заполнять NaN в этом сценарии?
Моя попытка ниже - просто попыткачтобы изолировать заголовки, но я действительно застрял на более широком вопросе о структуре текстового файла.Какие-то рекомендации или очевидные простые трюки, которых мне не хватает?
from zipfile import ZipFile
import pandas as pd
def main():
#Driver
FILENAME_PREFIX = 'bhcf'
FILE_TYPE = '.txt'
field_headers = []
with ZipFile('reg_data.zip', 'r') as zip:
with zip.open(FILENAME_PREFIX + '9909'+ FILE_TYPE) as qtr_file:
headers_df = pd.read_csv(qtr_file, sep='^', header=None)
headers_df = headers_df[:1]
headers_array = headers_df.values[0]
parsed_data = pd.read_csv(qtr_file, sep='^',header=headers_array)