gpt4 book ai didi

python - 如何在 Python 中从包含 N 行的 csv 文件创建嵌套字典

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:33 26 4
gpt4 key购买 nike

我正在寻找一种方法来将列数未知的 csv 文件读取到嵌套字典中。即输入表格

file.csv:
1, 2, 3, 4
1, 6, 7, 8
9, 10, 11, 12

我想要一个形式的字典:

{1:{2:{3:4}, 6:{7:8}}, 9:{10:{11:12}}}

这是为了允许 O(1) 在 csv 文件中搜索值。创建字典可能需要相对较长的时间,因为在我的应用程序中我只创建了一次,但搜索了数百万次。

我还想要一个选项来命名相关的列,这样我就可以忽略一次不必要的

最佳答案

这是一个简单但脆弱的方法:

>>> d = {}
>>> with io.StringIO(s) as f: # fake a file
... reader = csv.reader(f)
... for row in reader:
... nested = d
... for val in map(int, row[:-2]):
... nested = nested.setdefault(val, {})
... k, v = map(int, row[-2:]) # this will fail if you don't have enough columns
... nested[k] = v
...
>>> d
{1: {2: {3: 4}, 6: {7: 8}}, 9: {10: {11: 12}}}

但是,这假定列数至少为 2。

关于python - 如何在 Python 中从包含 N 行的 csv 文件创建嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46551040/

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