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

如何用Python将特定格式CSV文件还原为四维列表?

将CSV还原为四维列表的实现方法

场景说明

你之前通过三层循环将四维列表导出为CSV,现在需要逆向操作,把该CSV还原回原始的四维列表格式。原始四维列表示例:

tokens = [[[["a"], ["b"], ["c"]], [["d"]]], [[["e"], ["f"], ["g"]],[["h"], ["i"], ["j"], ["k"], ["l"]]]]

逆向实现代码

import csv

def import_from_csv(csv_path):
    tokens = []
    with open(csv_path, 'r') as f:
        reader = csv.reader(f)
        next(reader)  # 跳过表头行
        for row in reader:
            # 解析索引和值,注意索引转为整数,值还原为列表格式
            h_index = int(row[0])
            i_index = int(row[1])
            j_index = int(row[2])
            word = [row[3]]  # 对应原数据里的j格式:["a"]
            
            # 确保每一层列表长度足够,不足则补空列表
            while len(tokens) <= h_index:
                tokens.append([])
            while len(tokens[h_index]) <= i_index:
                tokens[h_index].append([])
            while len(tokens[h_index][i_index]) <= j_index:
                tokens[h_index][i_index].append([])
            
            # 将值放入对应位置
            tokens[h_index][i_index][j_index] = word
    return tokens

# 调用示例
restored_tokens = import_from_csv('TEST.csv')
print(restored_tokens)

代码逻辑说明

  1. 读取CSV文件时先跳过表头行(["A", "B", "C", word]);
  2. 逐行解析索引:将CSV中前3列的字符串转为整数,对应原导出时的h_index、i_index、j_index;
  3. 还原值的格式:原数据中每个元素是单元素列表(比如["a"]),所以把CSV第4列的字符串重新包装为列表;
  4. 动态构建嵌套列表:通过while循环检查每一层列表的长度,确保索引对应的位置存在,不存在则补空列表,避免索引越界;
  5. 将还原后的值放入对应索引位置,最终拼接成原始的四维列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:10:33