Как создать статический веб-сайт с постоянным URL, который отображает фрейм данных в виде таблицы

#python #html #pandas #dataframe #web-hosting

#python #HTML #pandas #фрейм данных #веб-хостинг

Вопрос:

у нас есть один из выходных данных скрипта python в виде фрейма данных: «dfIns»

Я преобразовал приведенный выше фрейм данных в таблицу html

 dfIns.to_html("insurancedetails.html")
  

есть ли способ создать статический веб-сайт с URL-адресом типа (https://insurancedetails.com /) и отображать вывод dataframe / html на веб-странице url, которая должна быть доступна любому пользователю в их браузерах в любое время.

Я попробовал некоторые из приведенных ниже подходов, но не смог сгенерировать конечный результат и увидеть результат в виде URL..

 def make_clickable(val):
    return '<a href="{}">{}</a>'.format(val,val)

dfIns.style.format(make_clickable)


import urllib
  

Пример скриншота таблицы

введите описание изображения здесь

Пример фрейма данных

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

Комментарии:

1. Можете ли вы добавить примеры ввода и вывода?

2. @Shradha .. Большое спасибо, шрадха, за ответ, я добавил вывод..

3. @Может кто-нибудь, пожалуйста, помогите и предложите

4. @Ravi Мне непонятно, что ты пытаешься сделать. Можете ли вы добавить больше деталей к своему вопросу? Может быть, поделитесь фреймом данных, который вам нужно преобразовать?

5. Да, я могу сделать это с помощью Django. У меня будет код python, запущенный на серверной части, который будет иметь фрейм данных, и он будет преобразован в виде списка (вложенных списков). И список будет отправлен во внешний интерфейс, в случае Django он обеспечивает рендеринг на стороне сервера, поэтому, используя jinja, мы можем легко создать своего рода таблицу, и она будет отображаться как Html.

Ответ №1:

Файл «insurancedetails.html » хранится в корзине aws, доступ к которой можно получить по этой ссылке: https://stackoverflow-test-dataframe-to-html.s3.amazonaws.com/insurancedetails.html

В AWS вы можете создать статический веб-сайт в bucket или просто загрузить HTML-файл и предоставить ссылки. Если вы хотите домен, подобный (https://insurancedetails.com /), тогда для этого есть совершенно другой путь. Но вопрос о создании HTML-страницы для отображения ваших данных через фрейм данных можно решить, как я покажу позже. В конце концов, вы можете использовать данные в любом приложении, которое принимает таблицу html, для создания желаемого дизайна веб-страницы.

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.
  

Ответ №2:

Это пример: сначала создайте фрейм данных:

 # 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:

 result = df.to_html() 
print(result)
  

Давайте напишем скрипт для преобразования фрейма данных в HTML-файл:

 html = df.to_html() 

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

Давайте отобразим данные HTML в виде таблицы с полосой

 HTML(df.to_html(classes='table table-striped'))
  

Подробнее об этом в:
https://www.geeksforgeeks.org/how-to-render-pandas-dataframe-as-html-table /