#python
#питон
Вопрос:
У меня есть изображение файла «.txt», поэтому я хочу преобразовать его в файл JSON с помощью python.Я перепробовал множество решений, но они не работали из-за формата файла. кто-нибудь может мне помочь, пожалуйста! могу ли я преобразовать его так, чтобы им было легко манипулировать?
Это мое досье
Teste: 89 IGUAL { "3C:67:8C:E7:F5:C8": ["b''", "-83"], "64:23:15:3D:25:FC": ["b'HUAWEI-B311-25FC'", "-83"], "98:00:6A:1D:6F:CA": ["b'WE'", "-83"], "64:23:15:3D:25:FF": ["b''", "-83"], "D4:6B:A6:C7:36:24": ["b'Wudi'", "-51"], "00:1E:2A:1B:A5:74": ["b'NETGEAR'", "-54"], "3C:67:8C:63:70:54": ["b'Vodafone_ADSL_2018'", "-33"], "90:F6:52:67:EA:EE": ["b'Akram'", "-80"], "04:C0:6F:1F:07:40": ["b'memo'", "-60"], "80:7D:14:5F:A7:FC": ["b'WIFI 1'", "-49"] }
и это код, который я пробовал
import json filename = 'data_strength/dbm-2021-11-21_12-11-47.963190.txt' dict1 = {} with open(filename) as fh: for line in fh: command, description = line.strip().split(None, 10) dict1[command] = description.strip() out_file = open('test1.json', "w") json.dump(dict1, out_file, indent=4, sort_key=False) out_file.close()
Комментарии:
1. Пожалуйста, поделитесь файлом в машиночитаемом формате (текст, а не изображение) и покажите нам свою попытку.
2. Я добавляю это сейчас, вы можете это видеть!
3. Просто удалите 2 верхние строки. Остальное уже JSON.
4. Проблема в том, что у меня 5000 файлов
5. итак, вы хотите массово удалить первые 2 строки в 5000 файлах?
Ответ №1:
Структура JSON в вашем файле начинается с первого появления левой скобки. Поэтому вы можете просто сделать это:
import json INPUT = 'igual.txt' OUTPUT = 'igual.json' with open(INPUT) as igual: contents = igual.read() if (idx := contents.find('{')) gt;= 0: d = json.loads(contents[idx:]) with open(OUTPUT, 'w') as jout: json.dump(d, jout, indent=4)