python - 字符串到字典中的参数
问题描述
我有列值作为 SQL 表(仅使用 1 条记录)
-l oracle -t employee.address -z 85248
当我使用 CX_Oracle 提取数据时,我得到以下数据,这些数据作为 sql_output 存储在一个变量中,如下所示(它在列表中的元组)
sql_output = [('-l oracle -t employee.address -z 85248',),
('-l oracle -t employee.address -z 85249',),
('-l oracle -t employee.address -z 85220',),
('-l oracle -t employee.address -z 85215',),
('-l oracle -t employee.address -z 85240',),
('-l oracle -t employee.address -z 85258',)]
在上面的示例中,-l、-t、-z 是我想用作键的参数,我正在列表中查找字典,以便可以循环并运行另一个命令
desire_output = [{'l': 'oracle', 's': 'employee', 't': 'address', 'z': 85248},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': 85249},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': 85220},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': 85215},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': 85240},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': 85258}]
我试图将其转换为字符串而不是列表中的字典,如下所示
sql_output = [('-l oracle -t employee.address -z 85248',),
('-l oracle -t employee.address -z 85249',),
('-l oracle -t employee.address -z 85220',),
('-l oracle -t employee.address -z 85215',),
('-l oracle -t employee.address -z 85240',),
('-l oracle -t employee.address -z 85258',)]
dic, lst = {}, []
for item in sql_output:
itm = ' '.join(item).replace('-','').split(' ')
dic[itm[0]]=itm[1]
dic['s']=itm[3].split('.')[0]
dic['t']=itm[3].split('.')[1]
dic[itm[4]]=itm[5]
print(dic)
lst.append(dic)
print(lst)
结果
[{'l': 'oracle', 's': 'employee', 't': 'address', 'z': '85258'},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': '85258'},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': '85258'},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': '85258'},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': '85258'},
{'l': 'oracle', 's': 'employee', 't': 'address', 'z': '85258'}]
不知道如何实现这一点,我的方式似乎超级复杂,有什么解决方案吗?
解决方案
推荐阅读
- javascript - 将 CryptoJS.SHA256() 与 hashlib.sha256() 匹配以获取 JSON
- jsonschema - 有一个属性使用 JSON Schema 定义另一个数组属性中的类型吗?
- python - 如何使用 Luigi 动态检查输出
- c# - Hangfire DisableConcurrentExecution 属性从未被调用
- image - 期望第一层具有 x 维,但得到一个形状为 y 的数组
- momentjs - 时刻js如何24小时-当前时间
- panel - 如何在 COBOL 中从面板 (ISPF) 呼叫、发送和接收信息
- html - 如何拥有三个 div 高度:一个基于百分比,一个填充,一个基于图像宽度
- deep-learning - 如何使用 PyTorch 将数据矩阵作为标签分配给数据集中的每个输入图像?
- android - 从 firebase 特定目录检索数据(没有 FirebaseAuth)