Передача данных из базы данных в файл HTML - PullRequest
0 голосов
/ 30 октября 2019

Я задавал вопрос, аналогичный этому ранее ( Передача данных из кадра данных Pandas в строку с использованием метода string.format () ).

Что я хотел бы сделатьповторяет подход, но берет данные из базы данных, которая хранится в виде фрейма данных, а затем помещает данные в строку, которая в основном является HTML-файлом. Я предполагаю, что это не имеет значения, это HTML-файл, а просто строка ..? Данные должны быть размещены внутри тегов заголовка {} в строке.

Подход пока. Примечание: я не включил весь HTML-файл, так как он довольно большой.

import pandas as pd
import psycopg2
from sqlalchemy import create_engine

df = pd.read_sql('select * from "HUMANS".people_info Limit 100', con = engine )

test = """

<!doctype html>
<html lang="en">
  <body>
    <div class="col-md-12 text-center">
        <h1>{}</h1>

    </div>

    </body>
</html>

df1 = df['Names']


for i, r in df1.items():
    test.format(*r.to_dict().values())

Ошибка:

AttributeError: 'str' object has no attribute 'to_dict'

Может кто-нибудь предложить способ передачи данных из БД в строку

1 Ответ

0 голосов
/ 03 ноября 2019

На всякий случай, если кто-то может оказаться в подобной ситуации, я, наконец, попал туда:

import pandas as pd
import psycopg2
from sqlalchemy import create_engine

df = pd.read_sql('select * from "HUMANS".people_info Limit 100', con = engine )

test = """

<!doctype html>
<html lang="en">
  <body>
    <div class="col-md-12 text-center">
        <h1>{}</h1>

    </div>

   </body>
</html>

df1 = df.filter['Names'] #persons name will be placed in HTML file
file = ""

for i, rows in df1.iterrows():
    name = (df1['Names'][i])

    with open(f"people{i}.html", "w") as file:
         file.write(test.format(name))
         file.close()

Это даст 100 HTML-файлов, содержащих имена, взятые из БД

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