У меня есть файл с форматом данных ниже
<aqr>a=769 b="United States" c=02/04/2019 d=01:03:23
<aqr>a=798 b="India" c=02/04/2019 d=01:03:23 e="Non existent"
Таким образом, в основном все строки имеют несколько столбцов, но столбцы не являются фиксированными, и заголовок отсутствует. Поэтому необходимо создать заголовок столбца из самих данных. Как и в примере выше, заголовки столбцов будут a, b, c, d и e.
Я создал код, который выполняет эту работу, но я ищу более быстрый способ и средства ведения журнала.
Безусловно, моя логика заключается в том, чтобы удалить ненужные данные в начале, затем получить данные в словаре и превратить их в кадр данных.
result = defaultdict(list)
with open('testfiles/test.csv', 'r') as file:
pardic = { }
new_list = []
final_list = []
for line in file.read().splitlines():
rule0 = line.strip("<aqr>")
rule0 = '~'.join(shlex.split(rule0))
y = rule0.split('~')
for word in y:
x = word.split('=')
result[x[0]].append(x[1])
data = pd.DataFrame.from_dict(result, orient='index')
data = data.T
Результат в порядке. Мне просто нужно более быстрое решение этого вопроса.