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

Python中如何将Excel行数据存入指定结构的嵌套列表

最简实现方案

针对你的需求,pandas是最适合新手的工具,代码简洁直观,几步就能完成:

步骤1:安装依赖

先确保装了pandas和Excel读取依赖:

pip install pandas openpyxl

步骤2:核心代码

假设你的Excel文件名为data.xlsx,代码如下:

import pandas as pd

# 读取Excel文件,默认读取第一个工作表
df = pd.read_excel("data.xlsx")

final_list = []
# 遍历每一行数据
for _, row in df.iterrows():
    # 提取前5个单元格,转成float类型并存入list1
    list1 = row.iloc[:5].astype(float).tolist()
    # 提取第6个单元格,转成float后存入list2(注意索引从0开始,第6个对应索引5)
    list2 = [row.iloc[5].astype(float)]
    # 组合成list3,加入最终列表
    final_list.append([list1, list2])

# 输出结果验证
print(final_list)

代码解释

  • df.iterrows():逐个遍历Excel里的每一行
  • row.iloc[:5]:选取当前行的前5个元素,astype(float)强制转换为浮点型,tolist()转成普通列表
  • row.iloc[5]:选取第6个元素,用[]包裹是为了保持列表格式,和示例里的list2结构一致
  • 最后把[list1, list2]追加到final_list,就得到你需要的嵌套列表结构

备选方案:用openpyxl直接操作单元格

如果不想用pandas,也可以用openpyxl直接操作Excel单元格,适合需要更精细控制的场景:

from openpyxl import load_workbook

# 加载Excel文件
wb = load_workbook("data.xlsx")
# 获取当前活跃的工作表
ws = wb.active

final_list = []
# 从第2行开始遍历(如果你的Excel没有表头,就把min_row改成1)
for row in ws.iter_rows(min_row=2, values_only=True):
    # 前5个单元格转float存入list1
    list1 = [float(cell) for cell in row[:5]]
    # 第6个单元格转float存入list2
    list2 = [float(row[5])]
    final_list.append([list1, list2])

print(final_list)

注意:如果Excel单元格里有非数字内容,float()会报错,确保你的数据都是合法的数字格式哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:32:44