You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不导入库如何将CSV对应的二维列表转换为列头为键的字典

嵌套列表/二维数组转列向字典实现方案

实现逻辑

无需导入任何第三方库,仅用Python原生语法即可实现,核心思路是拆分表头与数据行,按列索引提取对应值:

  1. 取嵌套列表的第一个元素作为字典的键集合(表头)
  2. 剩余元素作为数据行,按每个表头对应的列索引,依次从所有数据行中提取该位置的值,组成列表作为对应键的值

示例代码

源数据定义

source_data = [
    ['col1', 'col2', 'col3', 'col4', 'col5'],
    ['1', 'a', 'd', 'g', 'j'],
    ['2', 'b', 'e', 'h', 'k'],
    ['3', 'c', 'f', 'I', 'l']
]

基础循环写法(易理解)

# 拆分表头和数据行
headers = source_data[0]
data_rows = source_data[1:]
result = {}

for col_index in range(len(headers)):
    # 提取当前列的所有数据
    current_col = [row[col_index] for row in data_rows]
    result[headers[col_index]] = current_col

简洁写法(字典推导式)

headers = source_data[0]
result = {
    header: [row[idx] for row in source_data[1:]] 
    for idx, header in enumerate(headers)
}

执行后得到的result就是要求的目标字典结构。

二维数组兼容性说明

Python中的嵌套列表本质就是二维数组的原生实现形式,只要你的二维数组满足以下规则,就可以完全复用上述逻辑,不需要任何修改:

  • 第一行是表头,长度等于每一列的字段数量
  • 后续所有数据行的长度和表头长度一致

如果存在数据行长度不一致的场景,可以自行添加判断逻辑,比如对长度不足的行补空值、跳过异常行等,适配业务需求即可。


内容的提问来源于stack exchange,提问作者EthanM538

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 09:15:05