PySpark:读取 pyspark 框架中的 csv 数据。为什么它在框架中显示特殊字符?除了使用 pandas 之外的任何以表格形式显示的方式

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

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

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

您的列太多,无法放在一行中,因此换行。您可以在显示前用 .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()

只需在 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 的 1000 行放入 show()