python - 如何在清理字典键值对后重新创建字典列表

标签 python list

我有一个包含 80K 记录的字典列表,格式如下 -

{'system_name': 'aapvir004', 'fdc_inv_sa_team': 'X2AIX_GDSS\n'}
{'system_name': 'aapvir003', 'fdc_inv_sa_team': 'X2AIX_GDSS\n'}
{'system_name': 'aapvir002', 'fdc_inv_sa_team': 'X2AIX_GDSS\n'}
{'system_name': 'abpvir004', 'fdc_inv_sa_team': 'X2AIX_GDSS\n'}
{'system_name': 'nappir002.1dc.com', 'fdc_inv_sa_team': 
 'LAC.BRAZIL.GIO.LINUX'}
{'system_name': 'nappir001.1dc.com', 'fdc_inv_sa_team': 
 'LAC.BRAZIL.GIO.LINUX'}
{'system_name': 'aapvtl001', 'fdc_inv_sa_team': 'X2AIX_GDSS\n'}
{'system_name': 'nbpvwb007.1dc.com', 'fdc_inv_sa_team': 
 'LAC.BRAZIL.GIO.LINUX'}

方法 getResource() 执行数据清理。

def getResource(self):
     try:
        #import pdb; pdb.set_trace()
        for row in data:
            sys_name = [row["system_name"],]
            team = [row["fdc_inv_sa_team"]]
            arg1 = re.sub('.1DC.com|.1dc.com|.1dc.COM |.1DC.COM\\b', '', str(sys_name))
            arg2 = str(team).replace('\\n', '')
            arg1 = str(arg1.strip('"[]"'))
            arg2 = str(str(arg2).strip("[]"))

我想在方法中使用 arg1 和 arg2 重新创建字典列表并返回它。您能建议一个可行的方法吗?

最佳答案

在循环外部创建一个列表,使用 arg1arg2 向其中添加字典,然后返回它。

output = []
for row in data:
    # ...
    arg1 = ...
    arg2 = ...
    output.append({'system_name': arg1, 'fdc_inv_sa_team': arg2})
return output

关于python - 如何在清理字典键值对后重新创建字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45149314/

相关文章:

python - 用于 Python 的 OpenCL

python - 在 Pandas 中选择带有startswith的列

python - 如何在不重新排列的情况下从集合中丢弃元素?

python - Python中有没有像Perl的splice一样的内置函数?

python - 如何将数字列表转换为相应的 chr()

python - Pandas如何根据每组的长度和另一列的计数值计算按组结果

python - 通过链 id 从 async python celery 链获取进度

python - 如何在tomcat服务器上运行python文件?

objective-c - Java 的 List 在 Objective-C 中的等价物是什么?

python - 检查字符串列表中的字符子集是否包含在另一个字符串列表中