在读取CSV文件之前,确保文件编码为UTF-8,这是Spark SQL默认使用的编码方式。
通过spark.read.csv()
方法读取文件,并在选项中指定编码方式。例如:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("read_csv").getOrCreate()
df = spark.read.format("csv") \
.option("header", True) \
.option("encoding", "UTF-8") \
.load("path/to/your/file.csv")
这里,我们在选项中指定了"UTF-8"编码方式。如果您的文件编码不是UTF-8,您需要根据实际情况更改此设置。
如果CSV文件包含非ASCII字符(例如中文),请确保设置正确的分隔符和引用字符。例如,如果正在处理一个由逗号分隔的CSV文件,其中包含中文字符,则可以尝试使用以下代码:
df = spark.read.format("csv") \
.option("header", True) \
.option("encoding", "UTF-8") \
.option("delimiter", ",") \
.option("quote", u"\u0000") \
.load("path/to/your/file.csv")
这里,使用\u0000
作为引用字符,因为它几乎不会出现在文本中,从而避免了一些潜在的问题。