gpt4 book ai didi

基于csv文件的Python字典更新

转载 作者:太空宇宙 更新时间:2023-11-04 09:43:33 25 4
gpt4 key购买 nike

我有一个 csv 文件,其中:

id, word, super_id
100 , cat, 5
5 , bird, Nan
3 , dog, 100
20, fox , 100

我创建了以下字典:d= {100: [5, 3, 20], 3: [100]}

  • 其中节点 100 有父节点 5 和子节点 3、20
  • 节点 3 有父节点 100,没有子节点

我需要更新字典,使其变成:d= {猫:[鸟,狗,狐狸],狗:[猫]}或创建一个新的。有什么想法吗?

最佳答案

这是使用 csv 模块和一些字典理解的一种方式:

import csv
from io import StringIO

mystr = StringIO("""id, word, super_id
1 , cat, 2
2 , bird, Nan
3 , dog, 1
4, fox , 1""")

# replace mystr with open('file.csv', 'r')
with mystr as fin:
reader = csv.reader(fin, skipinitialspace=True)
next(reader) # ignore header row, or use headers = next(reader) to extract
fin_d = {int(ide): word for ide, word, super_id in reader}

d = {1: [2, 3, 4], 3: [1]}

# map keys and values of d using fin_d
res = {fin_d[k]: list(map(fin_d.get, v)) for k, v in d.items()}

print(res)

{'cat': ['bird', 'dog', 'fox '], 'dog': ['cat']}

关于基于csv文件的Python字典更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50719722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com