[PYTHON] Créer un lecteur CSV avec Flask

La dernière fois que j'ai converti le PDF en texte, cette fois je vais créer un lecteur CSV. Le code lui-même est un téléchargement de fichier, il a donc presque le même aspect.

csvopnener.py


import os
import csv
from flask import Flask, render_template, request, redirect, url_for, send_from_directory, session
from werkzeug.utils import secure_filename
app = Flask(__name__)

UPLOAD_FOLDER = './uploads'
ALLOWED_EXTENSIONS = set(['csv'])
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config['SECRET_KEY'] = os.urandom(24)

def allowed_file(filename):
    return '.' in filename and \
        filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS

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


@app.route('/show_csv', methods=['GET', 'POST'])
def show_csv():
    if request.method == 'POST':
        send_data = request.files['send_data']
        if send_data and allowed_file(send_data.filename):
            filename = secure_filename(send_data.filename)
            send_data.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            f = open('uploads/' + filename, 'r')
            f_reader = csv.reader(f)
            result = list(f_reader)

            return render_template('csv.html', result=result)


@app.route('/uploads/<filename>')
def uploaded_file(filename):
    return send_from_directory(app.config['UPLOAD_FOLDER'], filename)

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

csv.html


{% extends "base.html" %}
{% block content %}
<form method="post" action="{{ url_for('show_csv') }}" enctype="multipart/form-data">
  <input type="file" id="send_data" name="send_data">
  <input type="submit" value="Envoyer">
</form>
<div>
  {% if result %}
  <dl>
  {% for i in result %}
    <dt>{{ i[0] }}<dt>
    <dd>{{ i[1] }}</dd>
  {% endfor %}
  </dl>
  {% endif %}
</div>
{% endblock %}

Courir

スクリーンショット 2017-06-06 12.24.55.png

J'ai préparé un fichier CSV pour un tel test.

スクリーンショット 2017-06-06 12.25.30.png

J'ai senti que ce serait bien d'ajouter une ligne au CSV si je la personnalisais.

Recommended Posts

Créer un lecteur CSV avec Flask
Créer une fonction en Python
Créer un dictionnaire en Python
Créer un conteneur DI avec Python
Créer un fichier binaire en Python
Créer une chaîne aléatoire en Python
Créer un bot LINE avec Django
Créer une application GUI simple en Python
Créez une application Web simple avec Flask
Créer une application Python-GUI dans Docker (PySimpleGUI)
Lancer une application Flask dans Python Anywhere
[GPS] Créer un fichier kml avec Python
Créer un service Web avec Docker + Flask
Créez et déployez des applications Flask avec PTVS
Flask-Créer un service Web avec SQLAlchemy + PostgreSQL
CSV en Python
Créez un environnement de test Vim + Python en 1 minute
Créer un fichier GIF en utilisant Pillow en Python
Créer un fichier qui peut être exécuté dans le langage de script
Je veux créer une fenêtre avec Python
Créer un graphique de distribution normale standard en Python
Comment créer un fichier JSON en Python
Créer un environnement virtuel avec conda avec Python
Créer un babillard avec Heroku, Flask, SQL Alchemy
Créer une bibliothèque de mutations de séquences protéiques avec des pandas
Créer un modèle d'investissement dynamique simple en Python
Créer une nouvelle page en confluence avec Python
Créer un objet datetime à partir d'une chaîne en Python (Python 3.3)
Créer un package contenant des commandes globales en Python
Comment créer une API Rest dans Django
Jusqu'à ce que vous créiez une nouvelle application dans Django
Créez un fichier MIDI en Python en utilisant pretty_midi
Créer un modèle d'antenne cadre en Python dans KiCad
[Docker] Créez un environnement jupyterLab (python) en 3 minutes!
Créez un filtre pour obtenir un jeton d'accès avec l'API Graph (Flask)
Créer un bot de collecte de données en Python à l'aide de Selenium
Je veux faire la transition avec un bouton sur le ballon
Créer un module Python
Créer Spatia Lite en Python
[API LINE Messaging] Créez un menu riche avec Python
Créer un plugin pour exécuter Python Doctest sur Vim (2)
Créez un plug-in pour exécuter Python Doctest avec Vim (1)
dict in dict Transforme un dict en dict
En Python, créez un décorateur qui accepte dynamiquement les arguments Créer un décorateur
Créer un LV amorçable
Créer un serveur Web en langage Go (net / http) (1)
Créer un environnement Python
Script Python qui crée un fichier JSON à partir d'un fichier CSV
Créez un faux serveur Minecraft en Python avec Quarry
2 façons de lire tous les fichiers csv dans un dossier
Téléchargeur d'images avec Flask
Créer un bot slack
Créer un nouveau csv avec des pandas basé sur le csv local
Créez un plug-in qui met toujours en évidence le texte arbitraire dans Sublime Text 2
Créer une portée locale en Python sans polluer l'espace de noms
Création d'un livre de lecture lié à PostgreSQL avec Flask