如何使用常量 url 构建静态网站,将数据框显示为 table

How to build a static website with a constant url that displays dataframe as a table

我们有数据帧形式的 python 脚本输出之一:“dfIns”

我把上面的dataframe转换成了htmltable

dfIns.to_html("insurancedetails.html")

有没有办法生成具有 URL 之类的静态网站 (https://insurancedetails.com/) 并在 dataframe/html 中显示输出=39=] 任何人都可以随时在浏览器中访问的网页。

我尝试了下面的一些方法但无法生成最终输出并以 URL..

的形式看到输出
def make_clickable(val):
    return '<a href="{}">{}</a>'.format(val,val)

dfIns.style.format(make_clickable)


import urllib

示例table 屏幕截图

示例数据框

S.No    Name    Amount
101     aaa     12256
102     bbb     8256
103     ccc     24525

文件“insurancedetails.html”存储在 aws 存储桶中,可通过此 link 访问:https://Whosebug-test-dataframe-to-html.s3.amazonaws.com/insurancedetails.html

在 AWS 中,您可以在存储桶中创建一个静态网站,或者您可以只上传一个 html 文件并提供 links。如果您想要一个像 (https://insurancedetails.com/) 这样的域,那么还有一条完整的其他路径。但是创建 html 页面以通过数据框显示数据的问题可以像我稍后展示的那样完成。最后,您可以在任何接受 html table 的应用程序中使用这些数据来创建所需的网页设计。

example-with-your-data.com

dfIns = pd.DataFrame(columns=['S.No', 'Name', 'Amount'])
s = [101,102,103]
n = ['aaa', 'bbb', 'ccc']
a = [12256, 8256, 24525]

dfIns['S.No'] = s
dfIns['Name'] = n
dfIns['Amount'] = a

#create table from dataframe; minimal formatting
table1_html = dfIns.to_html(index=False, border=2)
table1_html = table1_html.replace('<tr>', '<tr align="center">')

# beginning of html page
html_start = """<!DOCTYPE html>
                <html lang="en" dir="ltr">
                  <head>
                    <meta charset="utf-8">
                    <title></title>
                    <style>
                          table, th, td {
                              border: 1px solid black;
                              height: 22px;
                              padding: 3px;
                          }

                          table {
                              border-collapse: collapse;
                              height: 20px;
                          }
                          </style>
                    </head>
                  <body>
                 <br></br>"""

# closing html tags
html_end = """</body></html>"""

# put it all together
html_conc = html_start + """<caption><b>%s</b></caption>
                             """ % (table1_html) + html_end

#create the file
fn = "insurancedetails.html"
with open(fn, 'w+') as file:
    file.write(html_conc)
    file.close()

  # Note, I uploaded the file to s3, from local directory, but you can just click in your working directory and see the file that way too.

这是一个例子: 首先,创建一个Dataframe:

# importing pandas as pd 
import pandas as pd 
from IPython.display import HTML 
  
# creating the dataframe 
df = pd.DataFrame({"Name": ['Anurag', 'Manjeet', 'Shubham',  
                            'Saurabh', 'Ujjawal'], 
                     
                   "Address": ['Patna', 'Delhi', 'Coimbatore', 
                               'Greater noida', 'Patna'], 
                     
                   "ID": [20123, 20124, 20145, 20146, 20147], 
                     
                   "Sell": [140000, 300000, 600000, 200000, 600000]}) 
  
print("Original DataFrame :") 
display(df) 

将数据帧转换为 Html table:

result = df.to_html() 
print(result)

让我们编写将 DataFrame 转换为 HTML 文件的脚本:

html = df.to_html() 

# write html to file 
text_file = open("index.html", "w") 
text_file.write(html) 
text_file.close() 

让我们以 table-striped

的形式显示 HTML 数据
HTML(df.to_html(classes='table table-striped'))

阅读更多相关信息: https://www.geeksforgeeks.org/how-to-render-pandas-dataframe-as-html-table/