Ehab Reda
Ehab Reda

Reputation: 60

How to convert a text file to json file?

I have this ".txt" file image so I want to convert it to a JSON file using python I've tried a lot of solutions but It didn't work because of the format of the file. can anyone help me, please! can I convert it so it will be easy to manipulate it?

This is my file

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"]
}

and this is the code I tried

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()

Upvotes: 2

Views: 3265

Answers (1)

Adon Bilivit
Adon Bilivit

Reputation: 26925

The JSON structure in your file starts at the first occurrence of a left brace. Therefore, you can just do this:

import json

INPUT = 'igual.txt'
OUTPUT = 'igual.json'

with open(INPUT) as igual:
    contents = igual.read()
    if (idx := contents.find('{')) >= 0:
        d = json.loads(contents[idx:])
        with open(OUTPUT, 'w') as jout:
            json.dump(d, jout, indent=4)

Upvotes: 8

Related Questions