CSV файл в шаблоне Django - PullRequest
       2

CSV файл в шаблоне Django

0 голосов
/ 07 марта 2019

У меня есть приложение, которое загрузило файл с помощью FileField ().Загрузка файла работает превосходно, но у меня есть проблема с тем, как отобразить содержимое файла CSV в таблицу HTML, где заголовки переходят в заголовок таблицы, а строки / строки файла CSV попадают в соответствующую ячейку в таблице HTML.

Пока у меня есть небольшой успех в получении столбцов CSV-файла.Вот фрагменты.

Метод:

# retrieve datafarame's columns
def get_columns(file):
    df = pd.read_csv(file)
    cols = df.columns
    return cols

HTML:

<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
            <thead>
                <tr>
                    {% for col in columns %}
                    <th>{{ col }}</th>
                    {% endfor %}
                </tr>
            </thead>
            <tbody>
                <tr>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                  <td></td>
                </tr>
            </tbody>
        </table>

1 Ответ

0 голосов
/ 07 марта 2019

Если вы используете панды в бэкэнде, тогда вы можете пропустить dataframe.to_dict() из представления, которое даст вам список словарей. Вы можете перебирать список строк в вашем шаблоне.

views.py

def myview(request):
    df = pd.read_csv(file)
    return render(request, 'my_view.html', {'columns': df.columns, 'rows': df.to_dict('records')})

template.html

<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
        <thead>
            <tr>
                {% for col in columns %}
                <th>{{ col }}</th>
                {% endfor %}
            </tr>
        </thead>
        <tbody>
            {% for index, row in rows %}
                <tr>
                  <td>{{row.name}}</td>
                  <td>{{row.email</td>

                </tr>
             {% endfor %}
        </tbody>
    </table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...