python - 如何仅使用rdd而不是数据框从spark中的csv中获取N(th)列
问题描述
我想只使用 rdd 函数从 csv 文件中选择一列,而不是 spark 中的数据框。我已经为它编写了代码。
其他一些列具有空值。
rdd = spark.sparkContext.textFile(filename)
rdd_parc = rdd.map(lambda x: x.split(","))
rdd1 = rdd_parc.map(lambda x: x[6] != "")
但是这个解决方案似乎不会选择第 6 列,而是选择地图的第 6 列。
样本数据:
Lachine,H,0,,,,"SUMMERLEA, PARC",FR,2016,287826.19201900001,5033164.33193000030,-73.7169573579999,45.4382054
Lachine,H,0,,,,"SUMMERLEA, PARC",FR,2016,287826.19201900001,5033164.33193000030,-73.7169573579999,45.4382054
您可以看到一些值是空的。我希望我的答案是
SUMMERLEA, PARC
SUMMERLEA, PARC
解决方案
完成尝试先使用 to 转换为 rdd
rdd = spark.read.csv(filename, header=True).rdd
然后提取第六列
rdd_parc = rdd.map(lambda x: x[6])
您将获得所需的输出
推荐阅读
- reactjs - React 中的样式化组件:TypeError:无法读取未定义的属性“颜色”
- neo4j - neo4j中如何匹配满足多重间接关系的记录?
- c# - 使用 PackageReference 时如何控制安装的依赖版本
- java - java - 为什么使用RoundingMode时java BigDecimal除法结果与双除法不同
- html - 选中时如何更改单选按钮中的背景颜色?
- hive - 在 hive 中命名案例的结果
- python - 用于线性回归的具有多个系列的 pandas 数据帧的 Y 截距
- python - Mac 上的 Python // 更改工作目录
- python - 如何按字母顺序将项目放在桌子上的循环中?
- python - 如何使用 python 代码创建表格,然后在浏览器中查看?