【发布时间】:2019-07-19 12:48:55
【问题描述】:
我有一个逗号分隔的文件,没有标题,每行中的项目数不同,用逗号分隔,例如:
a, x1, x2
b, x3, x4, x5
c, x6, x7, x8, x9
第一行仅包含 3 个项目,后续行包含更多,因此似乎仅从第一行推断列数,因此它会跳过其他行中第 3 个逗号之后的任何内容,并且数据丢失。
spark = init_spark()
df= spark.read.csv(filename)
print (df.take(3))
我明白了:
[Row(_c0='a', _c1=' x1', _c2=' x2'),
Row(_c0='b', _c1=' x3', _c2=' x4'),
Row(_c0='c', _c1=' x6', _c2=' x7')]
pyspark.sql.readwriter 模块中的 mode="PERMISSIVE"
没有解决问题,可能是没有header的原因
【问题讨论】:
-
您可以将其作为单列阅读,然后使用地图展开。
标签: csv apache-spark pyspark apache-spark-sql