【问题标题】:Accessing HTML table row element from pandas dataframe从 pandas 数据框访问 HTML 表格行元素
【发布时间】:2023-02-24 05:47:59
【问题描述】:

我有以下代码从熊猫数据框生成 html。我正在使用 JS 访问每个表行但出现错误。

  File "<fstring>", line 2
    var elem = array[i].cells[1].innerHTML;
           ^
SyntaxError: invalid syntax

def generate_html_main_page(dataframe: pd.DataFrame):
    # get the table HTML from the dataframe
    table_html = dataframe.to_html(table_id="table")
    # construct the complete HTML with jQuery Data tables
    html = f"""
    <html>
    <header>
        <link href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css" rel="stylesheet">
    </header>
    <body>
    {table_html}
    <script src="https://code.jquery.com/jquery-3.6.0.slim.min.js" integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI=" crossorigin="anonymous"></script>
    <script type="text/javascript" src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript">
    var array = document.getElementById("table").rows
    for (let i = 0; i < array.length; ++i) {
            var elem = array[i].cells[1].innerHTML;
            document.getElementById("table").rows[i].cells[1].innerHTML = "<a href='#test'>" + elem +"</a>"
            document.write(document.getElementById("table").rows[i].cells[1].innerHTML)
    }
    </script>
    </body>
    </html>
    """
    # return the html
    return html

非常感谢任何指针。谢谢!

【问题讨论】:

    标签: javascript html python-3.x pandas


    【解决方案1】:

    您正在使用 f 字符串生成 HTML,但 HTML 中也有 {/} 字符。所以 Python 正在尝试将 JavaScript for 循环的主体作为 Python 代码执行。

    当您希望它们只是文字大括号时,您可以将它们转义为 {{/}}。或者使用纯字符串连接 (html = '''...''' + table_html + '''...''')。

    【讨论】:

      猜你喜欢
      • 2021-09-14
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多