将CSV导入到pyspark数据帧

时间:2018-04-24 14:18:18

标签: python csv dataframe pyspark export

我是pyspark的新手,我正在尝试加载看起来像这样的CSV文件:

我的csv文件:

   article_id   title                                  short_desc                                           
    33          novel findings support original        asco-cap guidelines support categorization of her2 by fish status used in bcirg clinical trials  

我的代码来阅读csv:

from pyspark.sql import SparkSession

from pyspark.sql.types import StructType, StructField
from pyspark.sql.types import DoubleType, IntegerType, StringType


spark = SparkSession.builder.appName('Basics').getOrCreate()
schema = StructType([
    StructField("article_id", IntegerType()),
    StructField("title", StringType()),
    StructField("short_desc", StringType()),
    StructField("article_desc", StringType())
])

peopleDF = spark.read.csv('temp.csv', header=True, schema=schema)

peopleDF.show(6)

After Code changes

为什么要添加null?

数据集示例,以便您可以复制同样的问题:

DataSet Sample

1 个答案:

答案 0 :(得分:0)

您尝试阅读的Excel工作表的单元格已经“合并了单元格”。

Spark不会将它们作为合并单元格读取,但它会将这些行分开。在您的情况下,列'article_desc'垂直包含这样的5个单元格,而对于其余列,单元格为空。因此,您具有空值。

如果您将所有内容都添加到单个单元格中,则可以在没有空值的情况下读取它。