我不确定完成此任务的确切方法,但我希望有人可以帮助我。我有一个传递给我的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;
我该如何做到这一点?
答案 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