Python 解析元素数组
我不确定实现这一目标的确切方法,但我希望有人能帮助我。我有一个字符串,它被传递给我的Python应用程序Python 解析元素数组,python,arrays,Python,Arrays,我不确定实现这一目标的确切方法,但我希望有人能帮助我。我有一个字符串,它被传递给我的Python应用程序 string = '41_1,41_2,41_3,44_2,44_4' 用逗号分隔的每个元素都是行id,那么值ex41_2就是行id 41,值2 因此,对于上面的字符串,我需要更新: Row ID 41: myColumn value '1,2,3' Row ID 44: myColumn value '2,4' 在此基础上,我需要提出如下SQL语法 UPDATE myTable SE
string = '41_1,41_2,41_3,44_2,44_4'
用逗号分隔的每个元素都是行id,那么值ex41_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;
如何实现这一点?现在我如何从{'44':['2','4'],'41':['1','2','3']}更新myTable SET myColumn='1,2,3',其中id=41;更新myTable集合myColumn='2,4',其中id=44;我想你没有读过我原来的帖子。sql语句错误,将意味着数据丢失。@mattboston:Updated。请查收
>>> 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']}
#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