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

如何用Python将Excel两列数据转为交替排列的列表?

实现Excel列交替排列列表的方法

首先,你执行list(df)只返回列标题的核心原因:DataFrame对象直接转换为列表时,默认提取的是列标签(列名),而非表格中的数据内容。

以下是适合新手的最优实现代码,附详细注释:

import pandas as pd  # 行业惯例用pd作为pandas的别名,代码更简洁
path = r"Profiles.xlsx"

# 读取指定列,删除全空行(仅移除F、O列都为空的行)
df = pd.read_excel(path, usecols="F,O").dropna(how="all")

# 方法1:列表推导式(逻辑直观,新手易理解)
alternate_list = [item for row in df.values for item in row]

# 方法2:numpy展平(大数据量下更高效)
# alternate_list = df.values.flatten(order='C').tolist()

# 可选:将数据中的NaN替换为空字符串(避免列表出现nan值)
# alternate_list = ["" if pd.isna(item) else item for item in alternate_list]

print(alternate_list)

关键细节解释:

  • df.values:将DataFrame转换为二维数组,结构为[[F1值, O1值], [F2值, O2值], ...],对应原表格的每一行数据
  • 列表推导式通过两层遍历,先取每一行,再依次提取行内的F、O元素,最终生成F1,O1,F2,O2,...的交替顺序
  • flatten(order='C'):按行优先的规则展平二维数组,和列表推导式效果完全一致,处理大量数据时性能更优
  • 若你的数据存在单个空值(非全空行),可以启用最后一行代码,把nan值替换为空白字符串,让列表更规整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:15:32