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

PySpark中如何从collect生成的列表提取Row中的指定值?

提取PySpark Row中的文件名值

嘿,这事儿好办!咱们一步步来拆解:

首先,你得先搞清楚my_list[0]的结构——它是一个包含单个Row对象的列表,所以第一步得先把这个Row对象取出来。接下来因为你的字段名带空格、括号这些特殊字符,没法直接用.语法访问,得用字典式的方式来取值。

给你几种实用的方法:

方法1:直接通过字段名(字典式访问)

这是最直接的方式,明确指定字段名来取值:

# 先从列表里取出Row对象
target_row = my_list[0][0]
# 用字段名作为键获取值
file_name = target_row['Specific Name/Path (to be updated)']
print(file_name)  # 输出: Monitoring_file_hourely.csv

方法2:把Row转成字典后取值

如果后续还要多次操作这个Row里的内容,转成字典会更灵活:

row_dict = my_list[0][0].asDict()
file_name = row_dict['Specific Name/Path (to be updated)']

方法3:直接取Row的第一个值(适合字段唯一的情况)

如果你的Row里只有这一个字段,也可以不用写长长的字段名,直接取第一个值:

# Python 2里可以这么写
file_name = my_list[0][0].values()[0]
# Python 3里推荐用迭代器的方式,避免索引报错
file_name = next(iter(my_list[0][0].values()))

小提醒

为什么不能用target_row.Specific Name/Path (to be updated)这种写法?因为Python的标识符(变量名、属性名)不能包含空格、括号、斜杠这些特殊字符,所以点语法在这里行不通,必须用字典式的键访问~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:46:47