gpt4 book ai didi

python - 使用 Python 将 CSV 列分解为单独的数据结构的最优雅方法?

转载 作者:行者123 更新时间:2023-11-28 20:11:37 25 4
gpt4 key购买 nike

我正在尝试学习 Python。作为学习过程的一部分,我正在将我用 Java 编写的项目移植到 Python。我现在所在的部分有一个 CSV 标题列表,格式如下:

headers = [a, b, c, d, e, .....]

和单独的组列表,这些标题应该被分解成,例如:

headers_for_list_a = [b, c, e, ...]
headers_for_list_b = [a, d, k, ...]
. . .

我想获取 CSV 数据并将其转换为基于这些组的字典,例如:

list_a = [
{b:val_1b, c:val_1c, e:val_1e, ... },
{b:val_2b, c:val_2c, e:val_2e, ... },
{b:val_3b, c:val_3c, e:val_3e, ... },
. . .
]

例如,val_1b 是“b”列的第一行,val_3c 是“c”列的第三行,等等。

我的第一个“Java 直觉”是做类似的事情:

for row in data:
for col_num, val in enumerate(row):
col_name = headers[col_num]
if col_name in group_a:
dict_a[col_name] = val
elif headers[col_cum] in group_b:
dict_b[col_name] = val
...
list_a.append(dict_a)
list_b.append(dict_b)
...

但是,这种方法似乎效率低下/笨拙,并且不具备 Python 程序员经常谈论的优雅。有没有一种我应该尝试的更“禅宗”的方式 - 与 Python 的哲学保持一致?

最佳答案

试试 Python 的 CSV 模块,尤其是 DictReader 类。

关于python - 使用 Python 将 CSV 列分解为单独的数据结构的最优雅方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2768912/

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