Python lernen

Sogar ein Infrastrukturingenieur wie ich, der kein Entwicklungsingenieur beim Erlernen von Python ist Ich möchte udemys Python-Kurs empfehlen, der auf sehr leicht verständliche Weise erklärt wird Insbesondere Herr Jun Sakai, der Ausbilder, ist leicht zu hören und deckt eine breite Palette von Inhalten ab Ich bin dankbar, dass ich den Codestil tatsächlich erwähnen und praktisches Wissen lernen kann. (* Ich persönlich glaube nicht, dass Sie dies verstehen können, selbst wenn Sie viele im Handel erhältliche Bücher lesen.)

https://www.udemy.com/course/python-beginner/

Eines der Probleme ist, dass der Roboter das empfohlene Restaurant in Fragen und Antworten fragt, die Antwort an CSV schreibt und die Anzahl der Antworten hochzählt. Dies ist jedoch schwierig. .. ..

Um ehrlich zu sein, war ich einmal frustriert und warf es hierher, aber kürzlich hatte ich eine weitere Gelegenheit, Python zu berühren, und meine Motivation, neu zu lernen, entfachte sich.

Es ist noch weit von der Fertigstellung der vorherigen Aufgabe entfernt, aber der zugrunde liegende Teil des Prozesses, bis zur CSV hochgezählt zu werden, ist abgeschlossen. Halten Sie ein Memorandum darüber, wo Sie süchtig sind.

[Fixer Teil] Erstens kann das Aufzählen der in CSV eingegebenen Inhalte nicht durchgeführt werden. Als ich Google ausprobierte, stellte ich fest, dass verschiedene Leute sich Sorgen um denselben Inhalt machten und die Welt klein war.

Insbesondere wenn ich eine Datei mit CSV lese, kann ich sie nicht so in die Datei schreiben, wie sie ist Wenn Sie sorgfältig darüber nachdenken, wird die open-Methode zum Zeitpunkt des Lesens im Lesemodus aufgerufen. Ich kann es nicht so schreiben, wie es ist, aber es gab einige Leute hier, die von der gleichen Sache abhängig waren.

Wenn Sie es lesen, schreiben Sie den gelesenen Inhalt in eine Variable Sie müssen die geschriebenen Variablen am Ende des Prozesses in CSV schreiben.

Daher ist der spezifische Verarbeitungsablauf wie folgt.

―― 1. Existiert die CSV-Ausgabedatei?

--1-1. Wenn es existiert Lesen Sie alle Zeilen der ersten vorhandenen CSV-Datei --1-1-1. Wenn bereits ein Schlüssel vorhanden ist, zählen Sie den Wert dieses Schlüssels hoch, speichern Sie ihn in einer Variablen und schreiben Sie ihn schließlich in CSV. --1-1-2. Wenn der Schlüssel nicht vorhanden ist, schreiben Sie einen neuen Schlüssel und Wert in CSV

--1-2. Wenn es nicht existiert Erstellen einer neuen CSV → Dieser Vorgang ist einfach, da er im obigen udemy-Python-Kurs erläutert wird

Basierend auf dem oben Gesagten habe ich den folgenden Code geschrieben

import csv
import os

from termcolor import colored

while True:
    print(colored('=' * 20, 'green'))
    print(colored('Welches Restaurant magst du?', 'green'))
    print(colored('=' * 20, 'green'))
    name = input()
    name = name.title()
    if name:
        break

#Methode zum Erstellen einer neuen CSV
def new_csv():
    with open('data.csv', 'w', newline='', encoding='utf-8') as csv_file:
        fieldnames = ['Name', 'Count']
        writer = csv.DictWriter(csv_file,fieldnames=fieldnames)
        writer.writeheader()
        writer.writerow({'Name': name,'Count': 1})

#Methode zum Schreiben von Datenvariablen in CSV am Ende
def csv_output():
    with open('data.csv', 'w', newline='', encoding='utf-8') as csv_file:
        fieldnames = ['Name', 'Count']
        writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(data)

#Methode zum Hinzufügen neuer Daten zu CSV
def csv_appending():
    with open('data.csv', 'a', newline='', encoding='utf-8') as csv_file:
        fieldnames = ['Name', 'Count']
        writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
        writer.writerow({'Name': name,'Count': 1})

"""
data.Wenn csv vorhanden ist, lesen Sie den Inhalt von CSV in die Datenvariable
Neu, wenn es nicht existiert_Rufen Sie die CSV-Methode auf
"""
if os.path.exists('data.csv'):
    with open('data.csv', 'r', newline='', encoding='utf-8') as csv_file:
        reader =csv.DictReader(csv_file)
        data = [row for row in reader]

        #Wenn der Schlüssel bereits vorhanden ist, zählt er hoch, und wenn er nicht vorhanden ist, csv_Rufen Sie die Appending-Methode auf
        for row in data:
            if row['Name'] == name:
                row['Count'] = int(row['Count']) + 1
                csv_output()
                break
        else:
            csv_appending()
else:
    new_csv()

Ich habe getan, was ich damit machen möchte, aber ich denke, es gibt wahrscheinlich einen besseren Weg, es zu schreiben. Und objektorientiert? MVC-Framework? Ich denke, dass ich anspruchsvolleren und cooleren Code schreiben kann, wenn ich etwas mehr bekomme, aber sobald der Teil der Basislogik fertig ist, denke ich, dass dies der Teil ist, wie die Erweiterbarkeit und Sichtbarkeit verbessert werden kann. Außerdem kann es interessant sein, einen Prozess hinzuzufügen, um die erstellte CSV-Datei endgültig zu aggregieren. .. ..

Persönlich hätte ich gerne einen Rat, da dies den Code noch besser macht! !!

Vielen Dank.

Recommended Posts

Python lernen
[Python] Lernnotiz 1
Python-Lernnotizen
Python-Lernausgabe
Python-Lernseite
Python-Lerntag 4
Python Deep Learning
Python-Lernen (Ergänzung)
Deep Learning × Python
Python-Lernnotizen
Python lernen mit ChemTHEATER 03
Python-Modul (Python-Lernnotiz ④)
Erweitertes Lernen 1 Python-Installation
Python lernen mit ChemTHEATER 05-1
Python: Deep Learning-Praxis
Python ~ Grammatikgeschwindigkeit lernen ~
Python
Private Python-Lernprozedur
Python lernen mit ChemTHEATER 02
Python lernen mit ChemTHEATER 01
Python: Deep Learning Tuning
Python + Unity Enhanced Learning (Lernen)
Python: Überwachtes Lernen (Rückkehr)
Python: Überwachtes Lernen (Klassifizierung)
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
O'Reilly python3 Primer Lernnotiz
Lernablauf für Python-Anfänger
Python: Überwachtes Lernen: Hyperparameter Teil 1
Python-Lernplan für KI-Lernen
Verbessertes Lernen ab Python
Maschinelles Lernen mit Python! Vorbereitung
Lernnotizen zur Python-Datenanalyse
Python Machine Learning Programming> Schlüsselwörter
Python: Überwachtes Lernen: Hyperparameter Teil 2
Checkios Empfehlung zum Erlernen von Python
Beginnend mit maschinellem Python-Lernen
Iterative Verarbeitung von Python durch Chemoinfomatik gelernt
Python: Unüberwachtes Lernen: Nicht hierarchisches Clustering
Echtzeit-Persönliche Schätzung (Lernen)
Kafka Python
Implementieren Sie das Stacking-Lernen in Python [Kaggle]
Python-Grundlagen ⑤
Python-Zusammenfassung
Eingebaute Python
Python-Technik
Python studieren
Python 2.7 Countdown