我有一個資料框,我正在嘗試將其轉換為 html 表語法作為 Scala 中的字串:
sample_df: 型別為 DataFrame = Dataset[Row]
|Name|Country|Occupation|Years_Experience|
|Bob |USA | Engineer | 5 |
|John|CANADA | Sales | 3 |
我已經轉換了 html 標頭,但是需要在字串變數中包含 html 行和值,如下 html_string:
<tr>
<td>Bob</td>
<td>USA</td>
<td>Engineer</td>
<td>5</td>
</tr>
<tr>
<td>John</td>
<td>CANADA</td>
<td>Sales</td>
<td>3</td>
</tr>
但是,當我嘗試下面的嵌套回圈方法時, html_string 變數沒有更新為我在上面所期望的。結果是空白。我究竟做錯了什么?
代碼嘗試:
var html_string = """"""
for (i <- sample_df) {
html_string = html_string "<tr>"
for (g <- i.toSeq) {
html_string = html_string "<td>" g "</td>"
}
html_string = html_string "</tr>"
}
println(html_string)
謝謝!
uj5u.com熱心網友回復:
不確定在這種情況下您所說的“資料幀”是什么意思(您不能像這樣迭代 spark 資料幀),但假設您正在談論一個正常的序列,這對我有用。
話雖如此,這是在 scala 中執行此操作的一種非常糟糕的方式。撰寫 Scala 代碼時的基本經驗法則是永遠不要使用可變變數,除非。您確切地知道為什么在特定情況下必須這樣做(這非常罕見)。
val html_string = df
.map { _.mkString("<td>", "</td><td>", "</td>" }
.mkString("<tr>", "</tr><tr>", "</tr>")
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470722.html
