gpt4 book ai didi

python - 使用嵌套循环对 csv 中的数据进行分组

转载 作者:行者123 更新时间:2023-11-28 21:26:51 24 4
gpt4 key购买 nike

我正在遍历 csv 的行以提取和转换数据。

csv 看起来像这样:

alex, blue, 3
alex, blue, 4
liza, green, 2
alex, red, 4
alex, orange, 3
liza, blue, 2
liza, blue, 21
liza, yellow, 23

我想从上面得到的结果是 2 个文件:

亚历克斯文件

<blue>3, 4</blue>
<red>4</red>
<orange>3</orange>

liza 文件

<green>2</green>
<blue>2,21</blue>
<yellow>23</yellow>

我不是找你帮我解决这个问题,我只是在找你的指导。我不需要 xml 部分的帮助,我只需要逻辑部分的帮助。

非常感谢!

最佳答案

我在这里首选的数据结构(假设名称和颜色的顺序不重要!)是嵌套的 defaultdict。通常的用法是这样的:

>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> d['blue'].append(3)
>>> d['blue'].append(4)
>>> d
defaultdict(<type 'list'>, {'blue': [3, 4]})

但我们还可以更深入一层:

>>> d = defaultdict(lambda: defaultdict(list))
>>> d
defaultdict(<function <lambda> at 0x1004bf9b0>, {})
>>> d['alex']['blue'].append(3)
>>> d['alex']['blue'].append(4)
>>> d['liza']['green'].append(2)
>>> d
defaultdict(<function <lambda> at 0x1004bf9b0>, {'liza': defaultdict(<type 'list'>, {'green': [2]}), 'alex': defaultdict(<type 'list'>, {'blue': [3, 4]})})
>>> d.keys()
['liza', 'alex']
>>> d['alex'].keys()
['blue']
>>> d['alex']['blue']
[3, 4]

关于python - 使用嵌套循环对 csv 中的数据进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170262/

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