【发布时间】:2021-06-02 02:31:33
【问题描述】:
在包含路径和文件名的字符串列(分隔符是反斜杠)的数据框中,我试图将其拆分并获取文件名的最后一项作为新列。我使用的这段代码如下:
| Id | path |
|---|---|
| 1 | C:\Program Files\Notepad++\notepad.exe |
| 2 | C:\Program Files (x86)\Google\Chrome\Application\chrome.exe |
| 3 | C:\Windows\SysWOW64\cmd.exe |
| 4 | C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE |
| 5 | C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE |
df = df.withColumn("filename", f.split(f.col("path"), "\\").getItem(-1))
预期输出:
| Id | path | filename |
|---|---|---|
| 1 | C:\Program Files\Notepad++\notepad.exe |
notepad.exe |
| 2 | C:\Program Files (x86)\Google\Chrome\Application\chrome.exe |
chrome.exe |
| 3 | C:\Windows\SysWOW64\cmd.exe |
cmd.exe |
| 4 | C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE |
WINWORD.EXE |
| 5 | C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE |
EXCEL |
但是,我在 Pyspark 中遇到运行时错误。我最初的猜测是用数据中的双反斜杠替换所有反斜杠,但这没有任何区别。感谢您为解决此问题提供的任何帮助。
【问题讨论】:
标签: dataframe apache-spark pyspark split apache-spark-sql