Python CSV-Datei Zeichencodekonvertierung, Extraktion von Dateinamen, Lesen, Ausgeben, Zusammenführen

Von Ihnen selbst erstellte automatische Verarbeitung von CSV-Eingabe / Ausgabe und Konvertierung Ich habe das Material nicht an einem Ort gesehen, es ist also ein Memorandum.

Bibliotheksaufruf

import csv
import pandas as pd
import numpy as np
import os
import glob
from pathlib import Path

Shift-JIS / sjis-Dateien für jeden Ordner werden gleichzeitig in UTF-8 konvertiert und in einen anderen Ordner ausgegeben.

###################################################
#UTF-Dateien von Shift JIS in einem bestimmten Ordner-In 8 konvertieren
#Lesen Sie, was sich im Ordner in befindet, und lassen Sie das Original
#In Ordner speichern
print("Shift JIS to UTF-8 Start!")
p = Path("./in")
files = list (p.glob("*.csv"))
for file in files:
        shift_jis_file = pd.read_csv(file,encoding='Shift_JISx0213')
        file_path = f'out/{file.name}'
        shift_jis_file.to_csv(file_path)
print("Shift JIS to UTF-8 End!")
###################################################

Lesen Sie den zu verarbeitenden Dateinamen (Listen Sie diesmal die Dateinamen auf, die Sie in filelist.csv verarbeiten möchten.)

#Lesen Sie die Liste der Dateien, die Sie verarbeiten möchten
#(In einer Spalte wird nur der Dateiname aufgeführt.)
filelist = pd.read_csv('./filelist.csv')

#Schleifenverarbeitung für jede Datei
for index, row in filelist.iterrows():

    #Lesen Sie den Namen der zu verarbeitenden Datei Zeile für Zeile
    a_list=str(row.values)

    #Eingabe- / Ausgabepfaddefinition: Dateiname in Klammern lesen, Variablenspeicher ohne Apostrophie, Ordnername und Join
    inputpath=str('./out/'+a_list)
    inputpath=inputpath.replace("'", '')
    inputpath=inputpath.replace('[', '')
    inputpath=inputpath.replace(']', '')

    #Eingabe- / Ausgabepfaddefinition: Dateiname in Klammern lesen, Variablenspeicher ohne Apostrophie, Ordnername und Join
    outputfolder=str('./converted/')
    outputpath=str('./converted/'+a_list)
    outputpath=outputpath.replace("'", '')
    outputpath=outputpath.replace('[', '')
    outputpath=outputpath.replace(']', '')

    #Eingabe- / Ausgabepfaddefinition: Dateiname in Klammern lesen, Variablenspeicher ohne Apostrophie, Ordnername und Join
    mergedpath=str('./merged/tsestockdata.csv')
    mergedpath=mergedpath.replace("'", '')
    mergedpath=mergedpath.replace('[', '')
    mergedpath=mergedpath.replace(']', '')

Aktuelle Rohdatendatei (Verarbeitung der in UTF-8 konvertierten Datei), Spaltenadditionsvorgänge wie das Löschen unnötiger Zeilen und das gleichzeitige Hinzufügen bestimmter Zeichenfolgen

    #Datei lesen
    df = pd.read_csv(inputpath, header=None)
    
    #Extrahieren Sie einen bestimmten Wert und fügen Sie den extrahierten Wert zur letzten Spalte der Spalte hinzu
    tradingdate=inputpath[-14:-4]
    df['TradingDate']=tradingdate

    ##########Löschen Sie unnötige Zeilen, benennen Sie Spalten um

    df.columns = df.iloc[0]
    df = df.reindex(df.index.drop(0)).reset_index(drop=True)
    df = df.reindex(df.index.drop(0)).reset_index(drop=True)
    df.columns.name = None    
    df.columns = ['Rank', 'Code', 'Market','Company','EndingPrice','PriceChange','PercentChange','Volume','TradingDate']

Individueller Export von CSV

    ##########CSV-Exportprozess zum Löschen unnötiger Zeilen und zum Umbenennen von Spaltennamen

    df.to_csv(path_or_buf=outputpath, sep=',', na_rep='', float_format=None, columns=None, header=True,
      index=True, index_label=None, mode='w', encoding=None, compression=None, quoting=None,
      quotechar='"', line_terminator='\n', chunksize=None, date_format=None,
      doublequote=True, escapechar=None, decimal='.')

    print("Convert File Processed:"+a_list)

CSV-Dateien zusammenführen (da es einfacher ist, eine BI-aggregierte Datei aufzurufen)

##########Führen Sie alle CSV-Dateien in einem bestimmten Ordner zusammen
DATA_PATH = outputfolder
All_Files = glob.glob('{}*.csv'.format(DATA_PATH))
list2 = []
for file in All_Files:
    list2.append(pd.read_csv(file))
df = pd.concat(list2, sort=False)
df.to_csv(mergedpath, encoding='utf_8')
print("Merge Process End!!")
##########

Recommended Posts

Python CSV-Datei Zeichencodekonvertierung, Extraktion von Dateinamen, Lesen, Ausgeben, Zusammenführen
Ausgabe in eine CSV-Datei mit Python
Lesen und Schreiben von Python CSV-Dateien
Zeichencodeverarbeitung verglichen mit "An eine Wunde anhängen" ~ Verstümmelte Dateinamenoperation mit Python3 ~
[Python] Ruft den Zeichencode der Datei ab
Zeichencode-Konvertierung von CSV-Dateien mit Loop (Shift JIS to UTF8)
[Python] [chardet] Automatische Erkennung von Zeichencode in Dateien
Python-Zeichencode
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Konvertieren Sie den Zeichencode der Datei mit Python3
Geschwindigkeitsbewertung der Ausgabe von CSV-Dateien in Python
Lesen von CSV-Daten aus dem Python-Code des DSX-Objektspeichers
[Hinweis] Datei lesen ~ Python ~
Pyc-Datei lesen (Python 3.5.2)
Stapelkonvertierung von Dateinamen
Lesen Sie die Python-CSV-Datei
Lesen einer externen Python-Datei
[Python] CSV-Dateien lesen
Csv spuckte eine Liste mit Dateinamen, zuletzt geänderten Daten und Zeichencodes in Python3 aus
2.x, 3.x Serienzeichencode von Python
AHC-Aufgabe (1) CSV-Datei lesen
In Python gelernter Zeichencode
Laden Sie die CSV-Datei mit Python herunter