【问题标题】:How to convert array string to an array in python [duplicate]如何在python中将数组字符串转换为数组[重复]
【发布时间】:2014-10-23 16:47:48
【问题描述】:

我试图将存储在 mysql 数据库中的数组(作为字符串)转换为 python 中的标准数组,我的意思是:

这是我从数据库中得到的:

"['a',['b','c','d'],'e']" # this is a string in the format of an array that holds strings inside it.

我需要从字符串中删除该数组,以便它像普通数组一样工作 任何帮助将不胜感激。我不确定这是否已在其他地方得到解答,抱歉,如果我找不到它。 谢谢

【问题讨论】:

    标签: python mysql arrays


    【解决方案1】:

    您可以使用ast.literal_eval

    >>> from ast import literal_eval
    >>> s = "['a',['b','c','d'],'e']"
    >>> print(literal_eval(s))
    ['a', ['b', 'c', 'd'], 'e']
    

    【讨论】:

    • 虽然这绝对是正确的(+1)......他可能想考虑将他存储在数据库中的格式更改为 json 或其他东西
    • @JoranBeasley 你知道我将如何使用 python 将 json 存储在数据库中
    • @RileyThe15YearOld json.dumps() 会将您的数组转换为 JSON 字符串,json.loads() 会将其转换回 Python 数组。
    • @TheSoundDefense id 只是更喜欢将其保留为数组
    • @RileyThe15YearOld 好的,但我认为它不会那么可靠或安全。
    【解决方案2】:

    如果可以将那些单引号转成双引号,就可以使用json解析了。

    import json
    obj1 = json.loads('["a", ["b", "c", "d"], "e"]')
    

    【讨论】:

    • 接受的答案是更好的解决方案。
    • 这也是一个很好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2013-12-05
    • 2019-11-08
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    相关资源
    最近更新 更多