python-3.x 如何将列表从txt文件转换为Json

cdmah0mi  于 2023-04-08  发布在  Python
关注(0)|答案(1)|浏览(150)

我在一个.txt文件中有一个很长的电话号码列表,我需要将其转换为JSON来存储,并从那里转换为一个数组。
列表在txt文件中被格式化为这样。

phonenumber: value1
phonenumber: value2
phonenumber: value3

等等。
我的目标是把它们正确地格式化成JSON,这样我就可以在数组中使用它们了。
我已经尝试了下面的代码来这样做,但我无法得到它的正确格式

f = open("phone+.txt", "r")
content = f.read()
splitcontent = content.splitlines()

d = []
for v in splitcontent:
    l = v.split(': ')
    d.append(list(s.split(': ',1) for s in l))

with open("phone_list.json", "w") as file:
    file.write((json.dumps(d, indent=4, sort_keys= False)))

我从中得到的结果如下

[
    [
        [
            "phonenumber"
        ],
        [
            "value1"
        ]
    ],
    [
        [
            "phonenumber"
        ],
        [
            "value2"
        ]
    ],
    [
        [
            "phonenumber"
        ],
        [
            "value2"
        ]
    ]
]
bis0qfac

bis0qfac1#

d.append(list(s.split(': ',1) for s in l))没有意义。无需再次拆分。

您只需要:

d = []
for v in splitcontent:
    l = v.split(': ') # here we're already spliting each line by colon i.e. phonenumber: value1
    d.append(l)

它会给予你一个很好的列表

[['phonenumber', 'value1'], ['phonenumber', 'value2'], ['phonenumber', 'value3']]

相关问题