如何将存储在SQL中的一串数字转换回Python中的整数?

时间:2017-04-19 20:00:07

标签: python arrays string sqlite integer

所以我已经" 1,5,12"作为一个字符串存储在SQL数据库中,我设法使用cursor.fetchone等将字符串转换为python。

我如何分开这个" 1,5,12"字符串成一个整数数组?如果可能,我希望能够将单个整数称为数组中的索引。

5 个答案:

答案 0 :(得分:0)

使用列表推导和str.split

data = "1,5,12"
example_list = [int(x) for x in data.split(',')]

答案 1 :(得分:0)

假设你的字符串存储在变量中,你可以这样做;

data_result="1,5,12"
int_result=list(map(int,data_result.split(",")))

答案 2 :(得分:0)

您可以在逗号上split()字符串,以获取字符串列表。然后可以使用int()内的list comprehension函数将这些变为整数。

要捕获转换错误,可以将其包装在try ... except块中,特别是如果原始字符串来自外部/用户输入。

示例:

string_of_ints= "1,5,12"
try:
    list_of_ints = [int(x) for x in string_of_ints.split(",")]
except ValueError:
    print("Value Error")

这会产生:

[1, 5, 12]

答案 3 :(得分:0)

首先使用,分隔符mylist.split(',')将字符串拆分为一个列表。然后将该列表的每个成员转换为整数。您现在有一个整数列表。

使用列表理解:

results = [int(i) for i in results]

e.g。

  
    
      

mylist = [' 1,2,3']
      results = mylist.split(',')
      results = [int(i)for i in results]
      结果
          [1,2,3]

    
  

答案 4 :(得分:0)

使用ast.literal_eval

>>> from ast import literal_eval
>>> s = '1,5,12'
>>> literal_eval(s)
(1, 5, 12)

>>> list(literal_eval(s))
[1, 5, 12]