擅长:python、mysql、java
<p>我认为没有办法仅使用<code>spark.read.csv</code>来逃避这个复杂的字符<code>&amp;</code>,解决方案就像你做了“变通”一样:</p>
<ul>
<li><code>rdd.map</code>:此函数已将所有列中的值<code>&amp;</code>替换为<code>&</code></li>
<li>无需将rdd保存在临时路径中,只需将其作为<code>csv</code>参数传递:</li>
</ul>
<pre class="lang-py prettyprint-override"><code>rdd = sc.textFile("your_path").map(lambda x: x.replace("&amp;", "&"))
df = spark.read.csv(rdd, header=True, sep=";")
df.show()
+ -+ -+ +
| ID| FirstName|LastName|
+ -+ -+ +
| 1| Chandler| Bing|
| 2|Ross & Monica| Geller|
+ -+ -+ +
</code></pre>