Fichier Python CSV Conversion de code de caractère, extraction de nom de fichier, lecture, sortie, opération de fusion

Traitement automatisé d'entrée / sortie et de conversion CSV créé par vous-même Je n'ai pas vu le matériel en un seul endroit, c'est donc un mémorandum.

Appel à la bibliothèque

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

Les fichiers Shift-JIS / sjis de chaque dossier sont convertis en UTF-8 en même temps et sortis dans un autre dossier.

###################################################
#Fichiers UTF de Shift JIS dans un dossier spécifique-Convertir en 8
#Lisez le contenu du dossier in et laissez l'original
#Enregistrer dans le dossier
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!")
###################################################

Lire le nom du fichier à traiter (Cette fois, listez les noms de fichiers que vous souhaitez traiter dans filelist.csv)

#Lisez la liste des fichiers que vous souhaitez traiter
#(Seul le nom du fichier est répertorié dans une colonne)
filelist = pd.read_csv('./filelist.csv')

#Traitement en boucle pour chaque fichier
for index, row in filelist.iterrows():

    #Lire le nom du fichier à traiter ligne par ligne
    a_list=str(row.values)

    #Définition du chemin d'entrée / sortie: lecture du nom du fichier entre parenthèses, stockage variable sans apostrophie, nom du dossier et jointure
    inputpath=str('./out/'+a_list)
    inputpath=inputpath.replace("'", '')
    inputpath=inputpath.replace('[', '')
    inputpath=inputpath.replace(']', '')

    #Définition du chemin d'entrée / sortie: lecture du nom du fichier entre parenthèses, stockage variable sans apostrophie, nom du dossier et jointure
    outputfolder=str('./converted/')
    outputpath=str('./converted/'+a_list)
    outputpath=outputpath.replace("'", '')
    outputpath=outputpath.replace('[', '')
    outputpath=outputpath.replace(']', '')

    #Définition du chemin d'entrée / sortie: lecture du nom du fichier entre parenthèses, stockage variable sans apostrophie, nom du dossier et jointure
    mergedpath=str('./merged/tsestockdata.csv')
    mergedpath=mergedpath.replace("'", '')
    mergedpath=mergedpath.replace('[', '')
    mergedpath=mergedpath.replace(']', '')

Fichier de données brutes réel (traitement du fichier converti en UTF-8), Opérations d'ajout de colonnes telles que la suppression des lignes inutiles et l'ajout de chaînes de caractères spécifiques en même temps

    #Lire le fichier
    df = pd.read_csv(inputpath, header=None)
    
    #Extraire une valeur spécifique et ajouter la valeur extraite à la dernière colonne de la colonne
    tradingdate=inputpath[-14:-4]
    df['TradingDate']=tradingdate

    ##########Supprimer les lignes inutiles, renommer les colonnes

    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']

Exportation individuelle de csv

    ##########Processus d'exportation CSV pour supprimer les lignes inutiles et renommer les noms de colonne

    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)

Fusionner les fichiers csv (car il est plus facile d'appeler un fichier agrégé BI)

##########Fusionner tous les fichiers csv dans un dossier spécifique
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

Fichier Python CSV Conversion de code de caractère, extraction de nom de fichier, lecture, sortie, opération de fusion
Sortie vers un fichier csv avec Python
Lecture et écriture de fichiers CSV Python
Traitement de code de caractère assimilé à "Attacher à une plaie" ~ Opération de nom de fichier déformé avec python3 ~
[Python] Récupère le code de caractère du fichier
Conversion de code de caractère des fichiers CSV à l'aide de Loop (Shift JIS to UTF8)
[Python] [chardet] Détection automatique du code de caractère dans les fichiers
code de caractère python
J'ai essayé de lire un fichier CSV en utilisant Python
Convertir le code de caractère du fichier avec Python3
Évaluation de la vitesse de sortie du fichier CSV en Python
Lecture de données CSV à partir du code Python de stockage d'objets DSX
[Note] Lecture de fichier ~ Python ~
Lecture du fichier pyc (Python 3.5.2)
Conversion par lots de noms de fichiers
Lire le fichier csv Python
lecture de fichier externe python
[Python] Lecture de fichiers CSV
Crache une liste de noms de fichiers, de dates de dernière modification et de codes de caractères en python3
2.x, 3.x code de caractères des séries python
Tâche AHC (1) Lecture du fichier CSV
Code de caractère appris en Python
Télécharger le fichier csv avec python