Saya mencoba menyimpan Pandas DataFrame ke file html dengan kode JavaScript yang disematkan untuk penyegaran otomatis.

Kode saya adalah:

import pandas as pd

html_string = """
<html>
  <head>
<script>
function timedRefresh(timeoutPeriod) 
{
  setTimeout("location.reload(true);",timeoutPeriod);
}
window.onload = timedRefresh(5000);

</script>

</head>
  <link rel="stylesheet" type="text/css" href="df_style.css"/>
  <body>
    {table}
  </body>
</html>
"""


df1.to_html("/html/calls.html")
    with open('/html/calls.html', 'w') as f:
       f.write(html_string.format(table=df1.to_html(classes='mystyle')))

Tapi saya mendapatkan kesalahan:

KeyError: 'setTimeout("location'
1
harp1814 12 Mei 2021, 15:41

1 menjawab

Jawaban Terbaik

Anda harus keluar dari kurung kurawal fungsi JS. Gunakan tanda kurung ganda {{}}

Misalnya:

html_string = """
<html>
  <head>
<script>
function timedRefresh(timeoutPeriod) 
{{
  setTimeout("location.reload(true);",timeoutPeriod);
}}
window.onload = timedRefresh(5000);

</script>

</head>
  <link rel="stylesheet" type="text/css" href="df_style.css"/>
  <body>
    {table}
  </body>
</html>
"""
1
Rakesh 12 Mei 2021, 13:00