Чтение текстовых файлов с помощью 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= {}
Он выведет список списков, каждый из которых соответствует строке файла. Удачи!