解析元素数组

时间:2015-08-20 11:12:03

标签: python arrays

我不确定完成此任务的确切方法,但我希望有人可以帮助我。我有一个传递给我的Python应用程序的字符串。

string = '41_1,41_2,41_3,44_2,44_4'

这些元素中的每一个(用逗号分隔)都是行id,然后是一个值(ex 41_2是行ID 41,值2)。

所以对于上面的字符串,我需要更新:

Row ID 41: myColumn value '1,2,3'

Row ID 44: myColumn value '2,4'

除此之外,我需要提出SQL语法,如下所示

UPDATE myTable SET myColumn = '1,2,3' WHERE id = 41;

UPDATE myTable SET myColumn = '2,4' WHERE id = 44;

我该如何做到这一点?

2 个答案:

答案 0 :(得分:0)

>>> string = '41_1,41_2,41_3,44_2,44_4'
>>> bits = [s.split('_') for s in string.split(',')]
>>> for (key, value) in bits:
...     result.setdefault(key, []).append(value)
>>> result
{'44': ['2', '4'], '41': ['1', '2', '3']}

答案 1 :(得分:0)

        #Updating code snippet by leplatrem

        result = {'44': ['2', '4'], '41': ['1', '2', '3']}

    for (k,v) in result.viewitems():
        temp_list = [str(i) for i in v]
        temp_str = ",".join(temp_list)
        temp_str = "'" + temp_str + "'"
        print "UPDATE myTable SET myColumn={} where id={}".format(temp_str,k)

#Output

UPDATE myTable SET myColumn='2,4' where id=44
UPDATE myTable SET myColumn='1,2,3' where id=41