Beispiel für das Lesen und Schreiben von CSV mit Python

Mir wurde gesagt, dass ich Python in meinem Unternehmen verwenden könnte, also als Memorandum für die CSV-Datenverarbeitung.

Eingabebeispiel

infile.csv


number,name,birthymd,sex,yubin,adr1,adr2,sinsei_ymd,nintei_ymd,happu_ymd,type,pet,test_nowymd
0000111111,Taichiro Ando,19860602,1,1231111,BBB City, Präfektur AAA CCC-123,Beispiel Villa A Zimmer 001,20190501,20190507,20190507,1,0,20200229
0000222222,Ito Sumijiro,19920505,1,1232222,BBB City, Präfektur AAA CCC-123,Beispiel Villa B Zimmer 002,20190501,20190514,20190514,2,1,20200228
0000333333,Ukai Tasae,19990909,2,1233333,BBB City, Präfektur AAA CCC-123,Beispiel Villa C Zimmer 003,20190501,20190514,20190514,1,2,20200131
0000444444,Koshiro Esaki,19870831,1,1234444,BBB City, Präfektur AAA CCC-123,Beispiel Villa D Zimmer 004,20190501,20190507,20190507,2,0,20191231
0000555555,Okamoto Kogoro,19520205,1,1235555,BBB City, Präfektur AAA CCC-123,Beispiel Villa E Zimmer 005,20190601,20190615,20190615,1,2,20191130
0000666666,Kakizaki Kirokuro,19811030,1,1236666,BBB City, Präfektur AAA CCC-123,Beispiel Villa F Zimmer 006,20190601,20190608,20190608,1,2,20191129
0000777777,Jojima Kanako,19721103,2,1237777,BBB City, Präfektur AAA CCC-123,Beispiel Villa G 007 Zimmer,20190601,20190608,20190608,2,1,20191030
0000888888,Nagimiya Ahachime,19330303,2,1238888,BBB City, Präfektur AAA CCC-123,Beispiel Villa H Zimmer 008,20190501,20190507,20190507,1,1,20190401
0000999999,Keido Kankuro,19680229,1,1239999,BBB City, Präfektur AAA CCC-123,Beispiel Villa I Zimmer 009,20190601,20190615,20190615,2,0,20190331
1111000000,Koyanagi Sarujuro,19200222,1,1240000,BBB City, Präfektur AAA CCC-123,Beispiel Villa J Zimmer 010,20190501,20190507,20190507,2,1,20190228
1111111111,Juichiro Sato,19430130,1,1241111,BBB City, Präfektur AAA CCC-123,Beispiel Villa K 011 Zimmer,20190601,20190608,20190608,1,0,20190227
1111222222,Shishido Jujiro,19530301,1,1242222,BBB City, Präfektur AAA CCC-123,Beispiel Villa L 012,20190501,20190507,20190507,2,1,20190131

Code lesen / schreiben

csv_in_out.py


#Variable Initialisierung
##Variablen für Zähler
[line_count, person_count] = [0, 0]
##Variablen in Bezug auf Eingabewerte
[number, name, birthymd, sex, post, adr1, adr2, ymd_sinsei, ymd_nintei, ymd_happu, types, pet, ymd_test] = ['', '', '', '', '', '', '', '', '', '', '', '', '']
##Variable 1 bezogen auf den Ausgabewert
[birth_year, birth_month, birth_day, infile, outfile, line, item_str, data_str] = [0, 0, 0, '', '', '', '', '']
##Variable 2 bezogen auf Ausgabewert (leeres Array)
item = set()
data = set()

#Beim Öffnen bei Angabe des Zeilenvorschubcodes der Datei.
## \n(LF): Unix-basiertes Betriebssystem im Allgemeinen, Mac OS X., \r\n(CR+LF): Windows-Betriebssystem, \r(CR): Altes Mac OS (9 oder früher)
with open('infile.csv', 'r', encoding='utf-8', newline='\n') as infile, \
    open('outfile.csv', 'w', encoding='utf-8', newline='\n') as outfile:

    #Lesen und verarbeiten Sie den Inhalt von infile Zeile für Zeile
    for line in infile:
        #Ordnen Sie die Elemente der Lesezeile als Zeichenfolge den entsprechenden Variablen in der Reihenfolge von Anfang an zu, getrennt durch Kommas.
        number, name, birthymd, sex, post, adr1, adr2, ymd_sinsei, ymd_nintei, ymd_happu, types, pet, ymd_test \
        = map(str, line.split(','))
        #Lesen Sie die CSV-Zeilenanzahl +1
        line_count += 1

        #Die erste Zeile der gelesenen CSV-Zeilenanzahl ist der Elementname. Die tatsächlichen Daten stammen aus der zweiten Zeile.
        #Beispiel für die Konsolenausgabe zur Bestätigung 1: ○ Augenverarbeitung
        if line_count >= 2:
            person_count +=  1
            #Konsolenausgabe
            print(u'{}Wir bearbeiten die Augen....'.format(person_count))

        #Beispiel für die Konsolenausgabe zur Bestätigung 2: Das Geburtsdatum wird auf Null gesetzt und angezeigt
        if line_count >= 2:
            birth_year  = int(birthymd[0:4])
            birth_month = int(birthymd[4:6])
            birth_day   = int(birthymd[6:8])
            print(u'Geburtsdatum{}/{}/{}ist.'.format(birth_year,birth_month,birth_day))

        #Konsolenausgabebeispiel zur Bestätigung 3: Anzeigen von Nummer, Name und Geburtsdatum als Satz
        if line_count >= 2:
            #Konsolenausgabe (bearbeitete Zeichenfolge)
            print(u'Nummer{}von{}Ist{}/{}/{}Geburt.'.format(number,name,birth_year,birth_month,birth_day))

        #Der Hauptverarbeitungsteil für die Ausgabe.
        ##Nachdem Sie den Elementnamen und die tatsächlichen Daten angegeben haben, die Sie in einem Array ausgeben möchten, ändern Sie diese in eine durch Kommas getrennte Zeichenfolge und drucken Sie sie in die Outfile.
        if line_count == 1:
            #Dateiausgabe (durch Kommas getrennte Zeichenfolge: Elementname)
            item = ["Nummer", "Vollständiger Name", "Geburtstag", "Sex", "郵便Nummer", "Adresse 1", "Adresse 2", "Antragsdatum", "Zertifizierungsdatum", "Datum der Ausstellung", "Art", "Haustier", "Testdatum"]
            item_str = ",".join(map(str, item))
            print(item_str, file=outfile)
        if line_count >= 2:
            #Dateiausgabe (durch Kommas getrennte Zeichenfolge: tatsächliche Daten)
            # < !Wenn Sie die Daten verarbeiten oder zählen möchten, schreiben Sie die Logik hier.! >
            data = [number, name, birthymd, sex, post, adr1, adr2, ymd_sinsei, ymd_nintei, ymd_happu, types, pet, ymd_test]
            data_str = ",".join(map(str, data))
            print(data_str, file=outfile, end='')

        #Konsolenausgabebeispiel zur Bestätigung 4: Ausgabedaten anzeigen
        if line_count >= 2:
            print(u'file output >> {}'.format(data_str),end='')

    #Beispiel 5 für die Ausgabe der Bestätigungskonsole: Anzeige der Gesamtzahl der Prozesse
    print(u'') #Neue Zeile
    print(u'gesamt{}Verarbeitete die Angelegenheit.'.format(person_count))

Ausgabeergebnis

outfile.csv


Nummer,Vollständiger Name,Geburtstag,Sex,郵便Nummer,Adresse 1,Adresse 2,Antragsdatum,Zertifizierungsdatum,Datum der Ausstellung,Art,Haustier,Testdatum
0000111111,Taichiro Ando,19860602,1,1231111,BBB City, Präfektur AAA CCC-123,Beispiel Villa A Zimmer 001,20190501,20190507,20190507,1,0,20200229
0000222222,Ito Sumijiro,19920505,1,1232222,BBB City, Präfektur AAA CCC-123,Beispiel Villa B Zimmer 002,20190501,20190514,20190514,2,1,20200228
0000333333,Ukai Tasae,19990909,2,1233333,BBB City, Präfektur AAA CCC-123,Beispiel Villa C Zimmer 003,20190501,20190514,20190514,1,2,20200131
0000444444,Koshiro Esaki,19870831,1,1234444,BBB City, Präfektur AAA CCC-123,Beispiel Villa D Zimmer 004,20190501,20190507,20190507,2,0,20191231
0000555555,Okamoto Kogoro,19520205,1,1235555,BBB City, Präfektur AAA CCC-123,Beispiel Villa E Zimmer 005,20190601,20190615,20190615,1,2,20191130
0000666666,Kakizaki Kirokuro,19811030,1,1236666,BBB City, Präfektur AAA CCC-123,Beispiel Villa F Zimmer 006,20190601,20190608,20190608,1,2,20191129
0000777777,Jojima Kanako,19721103,2,1237777,BBB City, Präfektur AAA CCC-123,Beispiel Villa G 007 Zimmer,20190601,20190608,20190608,2,1,20191030
0000888888,Nagimiya Ahachime,19330303,2,1238888,BBB City, Präfektur AAA CCC-123,Beispiel Villa H Zimmer 008,20190501,20190507,20190507,1,1,20190401
0000999999,Keido Kankuro,19680229,1,1239999,BBB City, Präfektur AAA CCC-123,Beispiel Villa I Zimmer 009,20190601,20190615,20190615,2,0,20190331
1111000000,Koyanagi Sarujuro,19200222,1,1240000,BBB City, Präfektur AAA CCC-123,Beispiel Villa J Zimmer 010,20190501,20190507,20190507,2,1,20190228
1111111111,Juichiro Sato,19430130,1,1241111,BBB City, Präfektur AAA CCC-123,Beispiel Villa K 011 Zimmer,20190601,20190608,20190608,1,0,20190227
1111222222,Shishido Jujiro,19530301,1,1242222,BBB City, Präfektur AAA CCC-123,Beispiel Villa L 012,20190501,20190507,20190507,2,1,20190131

Bestätigungsausgabe


Wir bearbeiten die erste Person....
Geburtsdatum ist 1986/6/Es ist 2.
Taichiro Ando mit der Nummer 0000111111 ist 1986/6/Geboren 2
file output >> 0000111111,Taichiro Ando,19860602,1,1231111,BBB City, Präfektur AAA CCC-123,Beispiel Villa A Zimmer 001,20190501,20190507,20190507,1,0,20200229
Wir bearbeiten die zweite Person....
Geburtsdatum ist 1992/5/Es ist 5.
Ito Sumijiro mit der Nummer 0000222222 ist 1992/5/Geboren 5
file output >> 0000222222,Ito Sumijiro,19920505,1,1232222,BBB City, Präfektur AAA CCC-123,Beispiel Villa B Zimmer 002,20190501,20190514,20190514,2,1,20200228
Wir bearbeiten die dritte Person....
Geburtsdatum ist 1999/9/Es ist 9.
Ukai Tasae mit der Nummer 0000333333 ist 1999/9/Geboren in 9.
file output >> 0000333333,Ukai Tasae,19990909,2,1233333,BBB City, Präfektur AAA CCC-123,Beispiel Villa C Zimmer 003,20190501,20190514,20190514,1,2,20200131
Wir bearbeiten die 4. Person....
Geburtsdatum ist 1987/8/Es ist 31.
Koshiro Esaki mit der Nummer 0000444444 ist 1987/8/Geboren 31
file output >> 0000444444,Koshiro Esaki,19870831,1,1234444,BBB City, Präfektur AAA CCC-123,Beispiel Villa D Zimmer 004,20190501,20190507,20190507,2,0,20191231
Wir bearbeiten die 5. Person....
Geburtsdatum ist 1952/2/Es ist 5.
Kogoro Okamoto mit der Nummer 0000555555 ist 1952/2/Geboren 5
file output >> 0000555555,Okamoto Kogoro,19520205,1,1235555,BBB City, Präfektur AAA CCC-123,Beispiel Villa E Zimmer 005,20190601,20190615,20190615,1,2,20191130
Wir bearbeiten die 6. Person....
Geburtsdatum ist 1981/10/Es ist 30.
Kakizaki Kirokuro mit der Nummer 0000666666 ist 1981/10/Geboren 30
file output >> 0000666666,Kakizaki Kirokuro,19811030,1,1236666,BBB City, Präfektur AAA CCC-123,Beispiel Villa F Zimmer 006,20190601,20190608,20190608,1,2,20191129
Wir bearbeiten die 7. Person....
Geburtsdatum ist 1972/11/Es ist 3.
Kanako Jojima mit der Nummer 0000777777 ist 1972/11/Geboren 3
file output >> 0000777777,Jojima Kanako,19721103,2,1237777,BBB City, Präfektur AAA CCC-123,Beispiel Villa G 007 Zimmer,20190601,20190608,20190608,2,1,20191030
Wir bearbeiten die 8. Person....
Geburtsdatum ist 1933/3/Es ist 3.
Nagimiya Ahachime mit der Nummer 0000888888 ist 1933/3/Geboren 3
file output >> 0000888888,Nagimiya Ahachime,19330303,2,1238888,BBB City, Präfektur AAA CCC-123,Beispiel Villa H Zimmer 008,20190501,20190507,20190507,1,1,20190401
Wir bearbeiten die 9. Person....
Geburtsdatum ist 1968/2/Es ist 29.
Keido Kankuro mit der Nummer 0000999999 ist 1968/2/Geboren 29.
file output >> 0000999999,Keido Kankuro,19680229,1,1239999,BBB City, Präfektur AAA CCC-123,Beispiel Villa I Zimmer 009,20190601,20190615,20190615,2,0,20190331
Wir bearbeiten die 10. Person....
Geburtsdatum ist 1920/2/Es ist 22.
Koyanagi Sarjuro mit der Nummer 1111000000 ist 1920/2/22 Geboren.
file output >> 1111000000,Koyanagi Sarujuro,19200222,1,1240000,BBB City, Präfektur AAA CCC-123,Beispiel Villa J Zimmer 010,20190501,20190507,20190507,2,1,20190228
Wir bearbeiten die 11. Person....
Geburtsdatum ist 1943/1/Es ist 30.
Juichiro Sato mit der Nummer 1111111111 ist 1943/1/Geboren 30
file output >> 1111111111,Juichiro Sato,19430130,1,1241111,BBB City, Präfektur AAA CCC-123,Beispiel Villa K 011 Zimmer,20190601,20190608,20190608,1,0,20190227
Wir bearbeiten die 12. Person....
Geburtsdatum ist 1953/3/Es ist 1.
Shishido Jujiro mit der Nummer 1111222222 ist 1953/3/Geboren 1
file output >> 1111222222,Shishido Jujiro,19530301,1,1242222,BBB City, Präfektur AAA CCC-123,Beispiel Villa L 012,20190501,20190507,20190507,2,1,20190131
Insgesamt wurden 12 Fälle bearbeitet.

Memo

Kann es als Vorlage für die einfache Verarbeitung oder Aggregation von Artikelwerten verwendet werden, die in CSV-Daten enthalten sind?

Recommended Posts

Beispiel für das Lesen und Schreiben von CSV mit Python
Lesen und Schreiben von CSV mit Python
Lesen und Schreiben von Python CSV-Dateien
Lesen und Schreiben von NetCDF mit Python
Lesen und Schreiben von JSON-Dateien mit Python
Lesen und Schreiben von CSV- und JSON-Dateien mit Python
Lesen und Schreiben passt Dateien mit Python (Memo)
Lesen und Schreiben von CSV-Dateien
Zeichencode zum Lesen und Schreiben von CSV-Dateien mit Python ~ Windows-Umgebung ver ~
Lesen und Schreiben von Text in Python
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
Studie aus Python Lesen und Schreiben von Hour9-Dateien
Lesen Sie JSON mit Python und geben Sie CSV aus
Schließen Sie das Lesen und Schreiben von GCP an Secret Manager mit Google-Unterbefehlen ab
TRIE-Baumimplementierung mit Python und LOUDS
R- und Python-Schreibvergleich (euklidische Methode der gegenseitigen Teilung)
Fortsetzung der Multi-Plattform-Entwicklung mit Electron und Python
[Python] CSV-Dateien lesen
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Laden Sie mp4 einfach teilweise mit Python und youtube-dl herunter!
Visualisieren Sie den Bereich der internen und externen Einfügungen mit Python
Laden / Anzeigen und Beschleunigen von GIF mit Python [OpenCV]
Vergleich von CoffeeScript mit JavaScript-, Python- und Ruby-Grammatik
Programmieren mit Python und Tkinter
Ver- und Entschlüsselung mit Python
Lesen Sie CSV mit Python-Pandas
Python und Hardware-Verwenden von RS232C mit Python-
TXT-Dateien mit Python lesen
Schreiben Sie mit Python in csv
Quellinstallation und Installation von Python
Funktioniert mit Python und R.
Führen Sie mit Python und Matplotlib eine Isostromanalyse offener Wasserkanäle durch
[Python] Lesen Sie die CSV-Datei und zeigen Sie die Abbildung mit matplotlib an
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Erkennen Sie mit Python Objekte einer bestimmten Farbe und Größe
[Python: UnicodeDecodeError] Eine der Fehlerlösungen beim Lesen von CSV
Beispiel für das Parsen von HTTP GET und JSON mit Pfefferpython
Spielen Sie mit dem Passwortmechanismus von GitHub Webhook und Python
Erläuterung der CSV und Implementierungsbeispiel in jeder Programmiersprache
[Python] Mit OpenCV können Sie problemlos Bilddateien mit Seriennummern lesen
Hinweise zum Lesen und Schreiben von float32 TIFF-Bildern mit Python
Kommunizieren Sie mit FX-5204PS mit Python und PyUSB
Leuchtendes Leben mit Python und OpenCV
Die Geschichte von Python und die Geschichte von NaN
Installieren Sie Python 2.7.9 und Python 3.4.x mit pip.
Neuronales Netzwerk mit OpenCV 3 und Python 3
AM-Modulation und Demodulation mit Python
Installation von SciPy und matplotlib (Python)
Machen Sie Apache Log CSV mit Python
Scraping mit Node, Ruby und Python
[Python] Mit Python in eine CSV-Datei schreiben
Ausgabe in eine CSV-Datei mit Python
Kratzen mit Python und schöner Suppe
Erste Schritte mit Python Grundlagen von Python
JSON-Codierung und -Decodierung mit Python
Hadoop-Einführung und MapReduce mit Python
[GUI in Python] PyQt5-Drag & Drop-
Dies und das von Python-Eigenschaften
Lebensspiel mit Python! (Conways Spiel des Lebens)