Колба: Как я могу добавить таблицу с пандой dataframe - PullRequest
0 голосов
/ 05 ноября 2019

Итак, я недавно начал создавать свое первое приложение для колб. К сожалению, я врезался в стену. Я хочу добавить таблицу данных pandas с df.to_html, но я могу зайти на страницу с таблицей.

прямо сейчас у меня есть такой код установки:

Мой CSVФайл выглядит так:

PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S
2,1,1,"Cumings, Mr. John Bradley",male,38,1,0,PC 17599,71.2833,C85,C
3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S

Код app.py

    @app.route('/')
    def base():
        return render_template('/base.html')

    @app.route('/index')
    def index():
        data = pd.read_csv("data/mydata.csv", sep='\s+', quotechar=',')
        data.set_index(['Name'], inplace=True)
        data.index.name=None
        df = data.loc[data.Sex=='male']
        return render_template('/index.html',tables=[df.to_html('male')], titles = ['na', 'males'])

if __name__ == '__main__':
    app.run(debug=True)

HTML-код: Это базовый шаблон (маршрут идет к / base aswell)

<!DOCTYPE html>
<html lang="en">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
    <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='main.css') }}">
</head>
<body>
  <div class="topnav">
    <a href="#">Link</a>
  </div>
  <div class="sidenav">
    <a href="{{ url_for('base') }}">Home</a>
    <a href="{{ url_for('index') }}">Index</a>
  </div>
      <div class="content">
         <p>.</p>
      </div>
    </div>
  <div class="footer">
    <p>.</p>
  </div>
</body>
      {% block body %}
      {% endblock %}

Код индекса HTML выглядит следующим образом

{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block body %}
<div class="page">
    <div class="container">
        <div class="row">
            <div class="1">
                <div class=page>
                    <h1>Title</h1>
                    {% for table in tables %}
                        <h2>{{titles[loop.index]}}</h2>
                        {{ table|safe }}
                    {% endfor %}
                </div>
            </div>
        </div>
    </div>
</div>
{% endblock %}

к сожалению, я получаю сообщение об ошибке, если перехожу на страницу индекса. Страница base.html работает отлично.

Сообщение об ошибке (404 не найдено):

Не найдено Запрошенный URL-адрес не найден на сервере. Если вы ввели URL-адрес вручную, пожалуйста, проверьте правильность написания и повторите попытку.

Возможно ли добавить кадр данных pandas или это невозможно даже с Flask?

1 Ответ

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

panda работает с флягой, это не проблема .. Это синтаксис, который я использовал, и он отлично работает ... render_template ('index.html') без косой черты и шаблон находится в папке 'templates'

def index():
    data = pd.read_csv("data.csv")
    data.set_index(['Name'], inplace=True)
    data.index.name=None

    df = data.loc[data.Sex=='male']
    df = df[['Sex']]
    return render_template('index.html',tables=[df.to_html(header=False)],titles=['na','Males'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...