python-3.x 从Pandas Dataframe 访问HTML表格行元素

vfh0ocws  于 2023-02-26  发布在  Python
关注(0)|答案(1)|浏览(137)

我有下面的代码从Pandas Dataframe 生成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

如有任何意见,不胜感激。谢谢!

ttp71kqs

ttp71kqs1#

我们使用一个f字符串来生成HTML,但是HTML中还有{/}字符,所以Python试图将JavaScript for循环的主体作为Python代码来执行。
当你希望它们只是文字大括号时,你可以将它们转义为{{/}},或者使用普通字符串连接(html = '''...''' + table_html + '''...''')。

相关问题