Форматирование таблиц HTML pandas в python

#python #html #pandas #dataframe

#python #HTML #pandas #фрейм данных

Вопрос:

Я использую Pandas для создания 3 HTML-таблиц из 3 фреймов данных. На выходе я хочу получить HTML-файл. Код, который я сейчас использую, печатает таблицы одну под другой. Я хочу напечатать одну таблицу сверху, а затем две другие таблицы рядом. Что я мог бы изменить в коде для достижения этого?

 import numpy as np
from numpy.random import randn
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(randn(5,4),columns='W X Y Z'.split())
df1 = pd.DataFrame(randn(5,4),columns='A B C D'.split())
df2 = pd.DataFrame(randn(5,4),columns='E F G K'.split())
with open("a.html", 'w') as _file:
    _file.write(df.head().to_html()   "nn"   df1.head().to_html()  "nn"   df2.head().to_html())

  

в настоящее время мои 3 таблицы выглядят следующим образом, и я хочу, чтобы две нижние были на одном уровне, рядом

Ответ №1:

Вот мое предложение, основанное на вашем исходном коде:

 import numpy as np
from numpy.random import randn
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(randn(5,4),columns='W X Y Z'.split())
df1 = pd.DataFrame(randn(5,4),columns='A B C D'.split())
df2 = pd.DataFrame(randn(5,4),columns='E F G K'.split())

html = """
    {table1}
    <table>
      <tr>
        <td>{table2}</td>
        <td>{table3}</td>
      </tr>
    </table>
    """.format(
        table1=df.head().to_html(),
        table2=df1.head().to_html(),
        table3=df2.head().to_html()
    )
with open("a.html", 'w') as _file:
    _file.write(html)