Чтение текстовых файлов с помощью Python

У меня есть текстовый файл с чем-то вроде миллиона строк, отформатированных следующим образом:

{"_id":"0e1daf84-4e4d-11ea-9f43-ba9b7f2413e0","parameterId":"visib_mean_last10min","stationId":"06193","timeCreated":1581590344449633,"timeObserved":1577922600000000,"value":11100}

У файла нет заголовков. Я хочу видеть его как массив.

Я пробовал это:

df = pd.read_csv("2020-01_2.txt", delimiter = ",", header = None, names = ["_id", "parameterId", "stationId", "timeCreated", "timeObserved", "value"])

и пока он сортирует файлы по столбцам и строкам, как я хочу, он будет отображать "_id":"0e1daf84-4e4d-11ea-9f43-ba9b7f2413e0" как первая запись, где я хотел бы только "0e1daf84-4e4d-11ea-9f43-ba9b7f2413e0".

Как мне нанести в массив только то значение, которое идет после каждого ":"?

1 ответ

Как сказал @mousetail, это выглядит как какой-то json-файл. Вы можете сделать следующее:

import json
mylist = []
with open("2020-01_2.txt") as f:
          for line_no, line in enumerate(f):
              mylist.append([])
              mydict = json.loads(line)
              for k in mydict:
                  mylist[line_no].append(mydict[k])
              mydict= {}

Он выведет список списков, каждый из которых соответствует строке файла. Удачи!

Другие вопросы по тегам