[PYTHON] Lesen Sie die CSV-Datei und zeigen Sie sie im Browser an

Übersicht / Ziele

Ich kann die CSV-Datei nicht in Tabellenform abfragen, da auf meinem tragbaren Notebook kein Excel installiert ist. Eine Tabelle kann als Ersatz verwendet werden, Sie müssen jedoch eine Verbindung zum Internet herstellen, um sie in einer Tabelle anzuzeigen, und Sie möchten keine nutzlose Paketkommunikation durchführen. Offline reicht aus, um CSV-Dateien abzufragen. Als ich unterschiedlich gegoogelt habe, habe ich festgestellt, dass die Pandas-Bibliothek von Python auch CSV-Dateien lesen und HTML ausgeben kann. Erstellen Sie ein Programm, das eine CSV-Datei liest und in einem Browser anzeigt, um Python zu studieren.

Umgebung

Dinge zu tun, um zu tun

  1. Installieren Sie Pandas mit Pip
  2. Erstellen Sie ein Python-Programm
  3. Im Browser anzeigen

Installieren Sie Pandas mit Pip

Führen Sie den üblichen Befehl pip install pandas im Terminal von VSCode aus. Irgendwie tritt ein Fehler auf ... Da es sich um ein Zeichen handelt, das vor dem Schreiben der Quelle einen unerwarteten Fehler zeichnet, wird erwartet, dass ein solcher Fehler auftritt.

(1)
ERROR: Could not install packages due to an EnvironmentError: [WinError 5]Zugriff verweigert.: 'c:\\program files\\python38\\lib\\site-packages\\pip-19.2.3.dist-info\\entry_points.txt'
Consider using the `--user` option or check the permissions.

(2)
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

(1) ... Der Zugriff wird verweigert oder Berechtigungen werden angezeigt, daher handelt es sich wahrscheinlich um eine Autorität. Ich habe das VSCode-Terminal aufgegeben, die Eingabeaufforderung als Administrator gestartet und den Befehl pip ausgeführt, und die Installation war erfolgreich.

(2) Es wird eine Warnung ausgegeben, da die mit python3.8.1 installierte Version von pip alt ist. Der in '' angezeigte Befehl wurde ausgeführt und der Pip wurde vor der Ausführung von (1) aktualisiert.

Erstellen Sie ein Python-Programm

Lesen Sie die CSV-Datei mit read_csv () von Pandas, konvertieren Sie die CSV-Daten mit to_html () in

und schreiben Sie sie in HTML. Wenn die gelesene CSV-Datei ein Leerzeichen enthält, wird es als fehlender Wert behandelt und in NaN konvertiert. Konvertieren Sie es daher nicht mit "na_filter = False". Der CSV-Dateiname wird im Titel von HTML angezeigt.

main.py


import os
import pandas as pd
import sys

def main():
    #Holen Sie sich die CSV-Datei aus Argument 1
    args = sys.argv
    haserror = False
    csvfile = ''

    #Kein Argument ist ein Fehler
    if 1 == len(args):
        print("Es ist keine CSV-Datei angegeben.")
        haserror = True
    else:
        csvfile = args[1]

        #Fehler, wenn der Dateiname falsch ist
        if os.path.exists(csvfile) == False:
            print("Die angegebene Datei existiert nicht.")
            haserror = True
        
        #Wenn es sich nicht um eine CSV-Datei handelt, tritt ein Fehler auf.
        if csvfile.endswith(".csv") == False:
            print("Eine andere Datei als die CSV-Datei wird angegeben.")
            haserror = True
        
    if haserror == True:
        return()
    else:
        print("Konvertieren Sie die CSV-Datei in HTML.")

    #CSV-Datei lesen
    csvdata = pd.read_csv(csvfile, na_filter=False)

    #HTML-Datei lesen
    htmldata = ''
    with open('templete.html',mode='r',encoding='utf-8') as htmlfile:
        htmldata = htmlfile.read()

    #Konvertieren Sie die CSV-Datei in HTML
    rpdict = { "filename" : os.path.basename(csvfile), "table" : csvdata.to_html() }
    htmldata = htmldata.format(**rpdict)

    #Ausgabe der HTML-Datei
    with open('csvconverted.html',mode='w',encoding='utf-8') as outputhtml:
        outputhtml.write(htmldata)

if __name__== '__main__':
    main()

Vor der Konvertierung HTML

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title> {filename} </title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
        <div class="csvlist">
            {table}
        </div>
    </body>
</html>

Nach der Konvertierung HTML

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title> test.csv </title>
        <link rel="stylesheet" type="text/css" href="style.css"/>
    </head>
    <body>
        <div class="csvlist">
            <table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Datum</th>
      <th>Urlaubsklassifizierung</th>
      <th>Anwesenheitszeit</th>
      <th>Zeit lassen</th>
      <th>Arbeitszeit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>2019/12/1</td>
      <td>Hokyu</td>
      <td>09:00</td>
      <td>13:00</td>
      <td>04:00</td>
    </tr>
    <tr>
      <th>1</th>
      <td>2019/12/2</td>
      <td></td>
      <td>09:00</td>
      <td>21:30</td>
      <td>11:30</td>
    </tr>
    <tr>
      <th>2</th>
      <td>2019/12/3</td>
      <td></td>
      <td>09:00</td>
      <td>21:30</td>
      <td>11:30</td>
    </tr>
    <tr>
      <th>3</th>
      <td>2019/12/4</td>
      <td></td>
      <td>09:00</td>
      <td>21:00</td>
      <td>11:00</td>
    </tr>
    <tr>
      <th>4</th>
      <td>2019/12/5</td>
      <td></td>
      <td>09:00</td>
      <td>20:00</td>
      <td>10:00</td>
    </tr>
    <tr>
      <th>5</th>
      <td>2019/12/6</td>
      <td></td>
      <td>09:00</td>
      <td>20:00</td>
      <td>10:00</td>
    </tr>
    <tr>
      <th>6</th>
      <td>2019/12/7</td>
      <td>Feiertage</td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <th>7</th>
      <td>2019/12/8</td>
      <td>Hokyu</td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>
        </div>
    </body>
</html>

Zurückblicken

https://github.com/otowmoyarng/FreeStudyRepo/tree/master/20191228-pythoncsvviewer

Recommended Posts

Lesen Sie die CSV-Datei und zeigen Sie sie im Browser an
[Python] Lesen Sie die CSV-Datei und zeigen Sie die Abbildung mit matplotlib an
Django ~ Lass es uns im Browser anzeigen ~
CSV-Datei lesen und schreiben
Derjenige, der die CSV-Datei teilt, liest und parallel verarbeitet
Lesen Sie die VTK-Datei und zeigen Sie die Farbkarte mit Jupiter an.
Lesen Sie die CSV-Datei mit dem Jupiter-Notizbuch und schreiben Sie die Grafik übereinander
Lesen Sie alle CSV-Dateien im Ordner
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
Suchen Sie es in der Warteschlange und bearbeiten Sie es
[pandas] CSV-Datei Lese- und Anzeigemethode
[Python] Lesen Sie die angegebene Zeile in der Datei
Formatieren Sie das Git-Protokoll und erhalten Sie den festgeschriebenen Dateinamen im CSV-Format
Prognostizieren Sie den Stromverbrauch in 2 Tagen und veröffentlichen Sie ihn in CSV
Lesen Sie die CSV-Datei mit Python und konvertieren Sie sie unverändert in DataFrame
In Bash "Löschen Sie die Datei, falls vorhanden".
Lesen Sie die CSV-Datei: pandas
Lesen Sie die Python-CSV-Datei
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
[Einführung in Pandas] Lesen Sie eine CSV-Datei ohne Spaltennamen und geben Sie ihr einen Spaltennamen
Fourier-Konvertierung der von Python gelesenen WAV-Datei, umgekehrte Konvertierung und erneutes Schreiben
So lesen Sie Seriennummerndateien in einer Schleife, verarbeiten sie und zeichnen sie grafisch auf
Lesen Sie die Linkliste im CSV-Format mit dem Graph-Tool
Lesen Sie die json-Datei mit Python, formatieren Sie sie und geben Sie json aus
Extrahieren Sie die Textinformationen in die MP3 / MP4-Datei und speichern Sie sie in der Textdatei (* .lrc) für Sony Walkman.
Ich möchte die Variablen in der Python-Vorlagendatei ersetzen und in einer anderen Datei in Massenproduktion herstellen
Dateien lesen und schreiben
Dateien schreiben und lesen
Japanische JSON-Datei anzeigen
Speichern Sie das Pystan-Modell und erhalten Sie eine Pickle-Datei
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
[Python] Zeigt die verstrichene Zeit in Stunden, Minuten und Sekunden an (00:00:00)
Echtzeitanzeige des serverseitigen Verarbeitungsfortschritts im Browser (Implementierung des Fortschrittsbalkens)
Lesen Sie die Zipline-Markendaten aus der CSV-Datei und führen Sie einen Backtest durch
Python im Browser: Brythons Empfehlung
Speichern Sie die Binärdatei in Python
Überprüfen Sie, ob die Einstellungsdatei leicht verständlich gelesen wird
Suchen Sie den Dateinamen einschließlich des angegebenen Wortes und der angegebenen Erweiterung im Verzeichnis
Verschrotten Sie den Zeitplan von Hinatazaka 46 und spiegeln Sie ihn in Google Kalender wider
Führen Sie Pylint aus und lesen Sie die Ergebnisse
Lesen Sie die Big-Endian-Binärdatei in Python und konvertieren Sie sie in ndarray
DeepL übersetzt den YouTube Live-Chat und zeigt ihn in Echtzeit an
Reihenfolge in PyYAML beibehalten und lesen
Verschrotten Sie die Liste der Go To EAT-Mitgliedsgeschäfte in der Präfektur Fukuoka und konvertieren Sie sie in CSV
Lesen und Schreiben von Python CSV-Dateien
Die Geschichte des "Lochs" in der Akte
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Lesen Sie das alte Gakushin DC-Antragsformular Word-Datei (.doc) von Python und versuchen Sie, es zu bedienen
Verschrotten Sie die Liste der Go To EAT-Mitgliedsspeicher in der Präfektur Niigata und konvertieren Sie sie in CSV
# Zeile ignorieren und mit Pandas lesen
Erstellen und lesen Sie Messagepacks in Python
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
Ersetzen Sie den Verzeichnisnamen und den Dateinamen im Verzeichnis zusammen mit einem Linux-Befehl.
Lesen und formatieren Sie CSV-Dateien gemischt mit Komma-Registerkarten mit Python-Pandas
[Python] Süß Ist es süß? Über Suiten und Ausdrücke in offiziellen Dokumenten
Schließen Sie das Cat-Ergebnis in doppelte Anführungszeichen ein und setzen Sie es in eine Variable