python - 如何在Python中将文本文件转换为JSON?

标签 python

我有包含以下数据的文本文件:

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/

相关文章:

python - 如何获取颜色图来填充区域?

python - 使用 Python 从 DropBox 下载图像

python - 如何从 Ansible 中的组中获取包含特定字符串的主机名

jquery - 在谷歌应用程序引擎中使用 Bootstrap 提前输入自动完成

python - 使用 urllib 读取 url 时出现编码错误

c++ - Swig、Python、C++ : TypeError: in method 'Geodatabase_Open' , 类型 'std::string' 的参数 2

python - Matplotlib Artist 中的 clip_box 是什么意思?

python - 查找数据框集合中的所有重复列

windows - Python 事件

python - 如何在上一个作业结束后添加调度程序作业