python两列数据以相同第一列合并问题

python实现将一个txt文本中两列数据 (\t分割),以第一列名字相同合并,第二列以逗号分隔并以列表形式返回。

txt内容:

示例
txt文本链接:https://pan.baidu.com/s/1pg58MLXPgLot3J7Fc0zKAA?pwd=1234 提取码:1234

img

我想要达到的结果 (注:第二列最外边加一层列表括号)

img

如果有编码问题改一下编码方案

with open('a.txt',encoding='utf-8') as f:
    p = f.readlines()

res = {}
for i in p:
    a, b = i.split('    ')
    res.setdefault(a,list()).append(b.strip())

with open('b.txt','w') as f:
    for i,j in res.items():
        f.write(f'{i}\t{j}\n')

提供一个思路,以\t分割,
创建一个空字典 a_dict
然后循环分割后的列表:
在以.png进行分割,把分割的第一部分作为a_dic的键,将第二部分转为字典格式,然后作为对应健的值,
在你每次循环的时候,判断分割下来第一部分是否已经存在为a_dic的键了,没存在就第二部分转为字典格式直接存为对应值,
如果存在,就将第二部分转为字典格式,然后与a_dict对应键值的字典合并