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

如何将Excel列数据导入Python并以表头作为变量名

解决方法:将Excel列数据转为对应表头命名的Python变量

嘿,我来帮你搞定这个问题!你已经成功用pandas把Excel数据读成DataFrame了,其实不需要单独处理datanames,直接利用DataFrame的特性就能轻松实现需求,下面给你几种实用的方案:

方案1:手动赋值(适合列数较少的情况)

如果你的Excel列不多,直接通过列名提取数据并赋值给对应变量就好,还可以根据需要转成列表或numpy数组:

import numpy as np
import pandas as pd
import os  # 别忘了导入os模块哦,你之前的代码里用到了但没写导入

directory = os.getcwd()
path = os.path.realpath("Data.xlsx")
data = pd.read_excel(path)

# 转成Python列表
Time = data['Time'].tolist()
Flow = data['Flow'].tolist()

# 如果需要numpy数组,用to_numpy()
Time_np = data['Time'].to_numpy()
Flow_np = data['Flow'].to_numpy()

这样你就能直接用Time、Flow这些变量啦,它们会存储对应列的所有数据。

方案2:自动批量创建变量(适合列数较多的情况)

如果你的Excel有很多列,手动一个个赋值太麻烦,可以用globals()动态创建全局变量:

import numpy as np
import pandas as pd
import os

directory = os.getcwd()
path = os.path.realpath("Data.xlsx")
data = pd.read_excel(path)

# 遍历所有列名,批量创建变量
for col_name in data.columns:
    # 这里选择转成列表,你也可以换成to_numpy()得到数组
    globals()[col_name] = data[col_name].tolist()

运行这段代码后,所有表头名称(比如Time、Flow)都会变成全局变量,对应的值就是该列的数据集。

⚠️ 小提醒:动态创建变量可能会和你已有的变量名冲突,如果你担心这个问题,更推荐用字典来存储,既安全又方便管理:

column_data = {}
for col_name in data.columns:
    column_data[col_name] = data[col_name].tolist()

# 访问方式:column_data['Time']、column_data['Flow']

为什么你的datanames方法没必要?

你之前生成的datanames是列名的Series,但其实data.columns直接就能拿到所有列名的迭代对象,不需要额外转成Series,直接遍历data.columns就可以啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:35:13