[PYTHON] Erstellen Sie mit Flask einen CSV-Reader

Das letzte Mal, als ich PDF in Text konvertiert habe, werde ich dieses Mal einen CSV-Reader erstellen. Der Code selbst ist ein Datei-Upload, sieht also fast gleich aus.

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="Senden">
</form>
<div>
  {% if result %}
  <dl>
  {% for i in result %}
    <dt>{{ i[0] }}<dt>
    <dd>{{ i[1] }}</dd>
  {% endfor %}
  </dl>
  {% endif %}
</div>
{% endblock %}

Lauf

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

Ich habe eine CSV-Datei für einen solchen Test vorbereitet.

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

Ich fand es schön, eine Zeile zu CSV hinzuzufügen, wenn ich sie anpassen würde.

Recommended Posts

Erstellen Sie mit Flask einen CSV-Reader
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie einen DI-Container mit Python
Erstellen Sie eine Binärdatei in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Erstellen Sie mit Django einen LINE-Bot
Erstellen Sie eine einfache GUI-App in Python
Erstellen Sie eine einfache Web-App mit Flasche
Erstellen Sie eine Python-GUI-App in Docker (PySimpleGUI).
Starten Sie eine Flask-App in Python Anywhere
[GPS] Erstellen Sie eine kml-Datei mit Python
Erstellen Sie einen Webdienst mit Docker + Flask
Erstellen und Bereitstellen von Flask-Apps mit PTVS
Flask-Erstellen Sie einen Webdienst mit SQLAlchemy + PostgreSQL
CSV in Python
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Erstellen Sie eine GIF-Datei mit Pillow in Python
Erstellen Sie eine Datei, die in der Skriptsprache ausgeführt werden kann
Ich möchte mit Python ein Fenster erstellen
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie ein Bulletin Board mit Heroku, Flask, SQL Alchemy
Erstellen Sie eine Proteinsequenz-Mutationsbibliothek mit Pandas
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Erstellen Sie in Python ein Paket mit globalen Befehlen
So erstellen Sie eine Rest-API in Django
Bis Sie eine neue App in Django erstellen
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Erstellen Sie in KiCad ein Rahmenantennenmuster in Python
[Docker] Erstellen Sie in 3 Minuten eine jupyterLab (Python) -Umgebung!
Erstellen Sie einen Filter, um ein Zugriffstoken mit der Graph-API (Flask) zu erhalten.
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
Ich möchte mit einem Knopf am Kolben übergehen
Erstellen Sie ein Python-Modul
Erstellen Sie Spatia Lite in Python
[LINE Messaging API] Erstellen Sie mit Python ein umfangreiches Menü
Erstellen Sie ein Plug-In, das Python Doctest auf Vim ausführt (2)
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
diktieren in diktieren Macht ein Diktat ein Diktat
Erstellen Sie in Python einen Dekorator, der Argumente dynamisch akzeptiert. Erstellen Sie einen Dekorator
Erstellen Sie eine bootfähige LV
Erstellen Sie einen Webserver in der Sprache Go (net / http) (1)
Erstellen Sie eine Python-Umgebung
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python
2 Möglichkeiten, alle CSV-Dateien in einem Ordner zu lesen
Bild-Uploader mit Flasche
Erstellen Sie einen Slack Bot
Erstellen Sie eine neue CSV mit Pandas basierend auf der lokalen CSV
Erstellen Sie ein Plug-In, das in Sublime Text 2 immer beliebigen Text hervorhebt
Erstellen Sie einen lokalen Bereich in Python, ohne den Namespace zu verschmutzen
Erstellt ein Lesebuch mit PostgreSQL mit Flask