我有包含以下数据的文本文件:
SSID: Wudi, quality: 86%
SSID: Vodafone_ADSL_2018, quality: 92%
SSID: Akram, quality: 43%
SSID: WE_BAE8DF, quality: 31%
SSID: BlzS-b21hcjE5MjE5OTg, quality: 31%
SSID: OPPO A53, quality: 31%
SSID: Vodafone_ADSL_2018, quality: 92%
SSID: WIFI 1, quality: 87%
SSID: , quality: 31%
SSID: pretty angel, quality: 31%
SSID: NETGEAR, quality: 84%
SSID: Akram, quality: 40%
SSID: memo, quality: 85%
SSID: Wudi, quality: 86%
SSID: AndroidAP63FC, quality: 38%
所以我想将我的文本文件转换为 JSON。我已经尝试过这段代码:
import json
filename = 'data_quality/quality-2021-11-21_12-10-21.908466.txt'
dict1 = {}
with open(filename) as fh:
for line in fh:
command, description = line.strip().split(None, 1)
dict1[command] = description.strip()
out_file = open("testooo.json", "w")
json.dump(dict1, out_file, indent=4, sort_keys = False)
out_file.close()
但它给了我那种格式的文件:
{
"SSID:": "AndroidAP63FC, quality: 38%"
}
但我需要将文件格式化为: 首先,删除“SSID”,然后它就变成了
{
"AndroidAP63FC, quality": "38%",
"Wudi, quality": "86%",
"Vodafone_ADSL_2018, quality:" "92%",
and so on...
}
注意:我有超过 1000 个文件,所以我想用代码来完成。
最佳答案
使用冒号作为 split()
分隔符,然后使用第二个元素作为键,第三个元素作为值:
import json
filename = 'data_quality/quality-2021-11-21_12-10-21.908466.txt'
dict1 = {}
with open(filename) as fh:
for line in fh:
_, command, description = line.strip().split(':')
dict1[command.strip()] = description.strip()
with open("testooo.json", "w") as out_file:
json.dump(dict1, out_file, indent=4, sort_keys = False)
关于python - 如何在Python中将文本文件转换为JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70294809/