PySpark:读取 pyspark 框架中的 csv 数据。为啥它在框架中显示特殊字符?除了使用熊猫之外,以表格形式显示的任何方式[重复]

Posted

技术标签:

【中文标题】PySpark:读取 pyspark 框架中的 csv 数据。为啥它在框架中显示特殊字符?除了使用熊猫之外,以表格形式显示的任何方式[重复]【英文标题】:PySpark: Read the csv data in pyspark frame. Why does it show special characters in frame? Any way to show in a tabular form except using pandas [duplicate]PySpark:读取 pyspark 框架中的 csv 数据。为什么它在框架中显示特殊字符?除了使用熊猫之外,以表格形式显示的任何方式[重复] 【发布时间】:2021-10-11 11:00:45 【问题描述】:

我正在使用 pyspark 读取 CSV 文件。在将 CSV 读入 pyspark 数据框后,它会显示我在 jupyter notebook 上显示数据时标题中有特殊字符。谁能指导我如何在不看到这些特殊字符的情况下显示数据?此外,如图所示,数据未对齐,如何以表格形式显示数据,而不是这样(不使用 pandas)

py_df = spark.read.option('header', 'true').csv("E:\Data files\Amazon e-commerce data.csv")

【问题讨论】:

【参考方案1】:

只需在您的show() 中尝试truncate = False

py_df = spark.read.option('header', 'true').csv("E:\Data files\Amazon e-commerce data.csv").show(truncate=False)

它只会显示 20 行,如果您想查看更多行,请将 n=1000 放入 show() 中的 1000 行

【讨论】:

【参考方案2】:

你有太多的列不能放在一行上,所以行换行。您可以在显示前使用.select() 限制显示的列数:

py_df.withColumn("Double the Price", py_df["price"] * 2).select(["price", "Double the Price").show(n=2)

也许 jupyter notebook 对渲染 pandas 数据帧有更好的支持?如果是这种情况,您可以尝试将 spark 数据框的顶部转换为 pandas 数据框:

py_df.withColumn("Double the Price", py_df["price"] * 2).limit(100).toPandas()

【讨论】:

以上是关于PySpark:读取 pyspark 框架中的 csv 数据。为啥它在框架中显示特殊字符?除了使用熊猫之外,以表格形式显示的任何方式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法读取 pyspark 中的 mongodb 数据(json)

读取 PySpark 中的所有分区 parquet 文件

通过 pyspark 中的 UDF 读取文本文件返回意外输出

读取 pyspark 数据框中的 jsonb 类型字段? [复制]

如何使用pyspark使用的通配符读取hdfs文件

PySpark - 读取镶木地板文件但不是同一文件夹中的另一个?