[Java] 36 ArrayListからHTMLファイルを作成

[macOS Catalina 10.15.7]

[Java] 33の続きです。

Pythonにおけるpandasのような気の利いたライブラリはないようなので、HTMLコードを1行にベタ書きさせました。

作成したHTMLファイルはVScodeで開き、以下のショートカットで自動整形できます。
⌘ + K → ⌘ + F

StringBuilderは文字列にスペースが含まれていると結合できないため、文字とスペースを分割して結合させます。

<途中から>

StringBuilder HTMLcode = new StringBuilder();

Integer count = 1;
HTMLcode.append("<table" + " " + "border='1'" + " " + "class='dataframe'>" + "<thead><tr>");
for (ArrayList<String> raceList: raceListConSorts){
    // 1行目はヘッダ
    if (count == 1){
        for (int i = 0 ; i < raceList.size() ; i++){
            HTMLcode.append("<th>" + raceList.get(i) + "</th>");}
        HTMLcode.append("</tr></thead><tbody>");
        HTMLcode.append("<tr>");
        count = count + 1;
    else{
        for (int i2 = 0 ; i2 < raceList.size() ; i2++){
            HTMLcode.append("<td>" + raceList.get(i2) + "</td>");}
        HTMLcode.append("</tr>");}}
HTMLcode.append("</tbody></table>");

try{
    File file = new File("test.html");
    FileWriter filewriter = new FileWriter(file);
    filewriter.write(HTMLcode.toString());
    filewriter.close();}
catch(IOException e){
    System.out.println(e);}}}
--------------------------------------------------

HTMLコードの内容
--------------------------------------------------
<table border='1' class='dataframe'><thead><tr><th>日付</th><th>開催</th>\
<th>天候</th><th>レース</th><th>レース名</th><th>枠番</th><th>馬番</th>\
<th>単勝</th><th>人気</th><th>着順</th><th>騎手</th><th>斤量</th><th>コース</th>\
<th>馬場状態</th><th>タイム</th><th>通過</th><th>上り</th><th>馬体重</th>\
<th>1着馬</th><th>賞金</th><th>raceID</th></tr></thead><tbody><tr>\
<td>2020-10-25</td><td>4回京都6日目</td><td>天候 : 晴</td><td>5 R</td>\
<td>2歳新馬</td><td>7</td><td>13</td><td>2.3</td><td>1</td><td>1</td>\
<td>福永祐一</td><td>55.0</td><td>芝右 外1800m</td><td>芝 : 良</td><td>1:49.9</td>\
<td>6-4</td><td>34.6</td><td>450(0)</td><td>シャフリヤール</td><td>700.0</td>\
<td>r202008040605</td></tr><td>2021-02-14</td><td>1回東京6日目</td><td>天候 : 晴</td>\
<td>11 R</td><td>第55回共同通信杯(G3)</td><td>8</td><td>11</td><td>4.9</td>\
<td>2</td><td>3</td><td>福永祐一</td><td>56.0</td><td>芝左1800m</td><td>芝 : 良</td>\
<td>1:48.0</td><td>7-8-8</td><td>33.4</td><td>448(-2)</td><td>エフフォーリア</td>\
<td>956.1</td><td>r202105010611</td></tr><td>2021-03-27</td><td>2回阪神1日目</td>\
<td>天候 : 晴</td><td>11 R</td><td>第68回毎日杯(G3)</td><td>6</td><td>6</td>\
<td>2.9</td><td>2</td><td>1</td><td>川田将雅</td><td>56.0</td><td>芝右 外1800m</td>\
<td>芝 : 良</td><td>1:43.9</td><td>4-4</td><td>34.1</td><td>448(0)</td>\
<td>シャフリヤール</td><td>3,833.6</td><td>r202109020111</td></tr></tbody></table>