Passer au contenu
  • YouTube
  • FaceBook
  • Twitter
  • Instagram

Data Analytics Irlande

Analyse des données et tutoriels vidéo

  • Accueil
  • Contactez
  • À propos de nous
    • Dernières nouvelles
    • Écrivez-nous
    • Pour en savoir plus sur notre site web
  • Liens utiles
  • Glossaire
  • Toutes les catégories
  • Faq
  • Livestream
  • Basculer le formulaire de recherche
  • Comment changer le nom d'une clé dans un dictionnaire Python ? Python
  • Qu'est-ce qu'un CTE en SQL ? SQL
  • Comment corriger l'erreur de type : type 'slice' non hachable dictionnaires python
  • masquer une colonne dans un cadre de données Cadre de données Python
  • Qu'est-ce que l'intégrité des données ? SQL
  • Comment supprimer les caractères indésirables Nettoyage de données en Python
  • Comment compter le nombre de lignes et de colonnes dans un fichier CSV ? CSV
  • comment comparer deux listes en Python Listes Python

Comment supprimer des caractères d'un fichier CSV importé

Posté le 27 avril 202011 novembre 2022 Par admin

Estimation du temps de lecture : 5 procès-verbal

Suppression des erreurs indésirables dans vos données, en toute simplicité.
Le processus d'importation de données peut prendre plusieurs formats, mais avez-vous cherché une vidéo sur la manière de procéder ? Mieux encore, vous cherchez une vidéo qui vous montre comment importer un fichier CSV, puis le nettoyer, en supprimant les caractères indésirables ?

Pour faire suite à Python - how do I remove unwanted characters, cette vidéo axée sur le nettoyage des données créées dans le code, cette vidéo passe en revue plusieurs options pour ouvrir un fichier CSV, trouver les caractères indésirables, les supprimer de l'ensemble de données et ensuite renvoyer les données nettoyées.

Comment entrer parmi les données problématiques :

L'approche adoptée ici a consisté à examiner trois scénarios différents :

(A) Utiliser une variable qui est égale à une fonction ouverte, puis lire la variable dans une trame de données.

(B) Utilisation conjointe d'une fonction "avec déclaration" et d'une fonction ouverte, et retour de la sortie dans une trame de données.

(C) Utiliser read_csv pour lire rapidement et efficacement dans le fichier CSV et ensuite nettoyer l'ensemble de données.

Quelques petits accrocs sur la route qui méritent réflexion

Il y a quelques défis à relever dans ce domaine que vous verrez dans la vidéo :

  • Les options A et B ont dû déployer un code supplémentaire juste pour obtenir la trame de données comme nous le voulions.
  •  Les lignes de code supplémentaires rendaient la tâche plus complexe si vous essayiez de la gérer.

En fin de compte, read_csv était probablement la meilleure façon d'aborder ce problème ; il nécessitait moins de code et aurait été plus facile à gérer à long terme.

Comme toujours, merci de nous suivre sur notre chaîne YouTube, et de nous suivre sur les médias sociaux !

Data Analytics Irlande

Le code utilisé dans cette vidéo est ici :

##########   How to import a  CSV dataset and remove unwanted characters ###########


#Numbers need to be put between "" to be looped through
import pandas as pd

l = ['$','*','€','&','£','/','@']
print("Error list we will be checking against in all three scenarios")
print(l)

############ Scenario 1  - Using the Open Function #####################

#can't use engine ='python' here , as it is an invalid keyword argument for open()
my_file = open("C:/dataanalyticsireland/Python Code/youtube/codeused/files/importandcleandatacsv.csv", "r").read().split('\n')
print("Senario 1 printed as a dataframe")
df = pd.DataFrame(my_file)
df.columns = ['Temp']
df[['Number','Error']] = df['Temp'].str.split(',',expand=True)
#Drop the column Temp ,0 for rows and 1 for columns.
df = df.drop('Temp', 1)
#Dropping the first row as it has the headers in it.
df = df.drop(0)
#Resetting the index to start at value 0
df = df.reset_index(drop=True)
display(df)


def run_scenario1(*l):
    #This line extracts all the special characters into a new column
    #Using regular expressions it finds values that should not appear
    df['Error'] = df['Number'].str.extract('(\D+|^(0)$)')   
    #This line removes anything with a null value
    df.dropna(subset=['Error'], inplace=True)
    #This line reads in the list and assigns it a value i, to each element of the list.
    #Each i value assigned also assigns an index number to the list value.
    #The index value is then used to check whether the value associated with it is in the df['Number'] column 
    #and then replaces if found
    for i in l:
        df['Fix']= df['Number'].str.replace(i[0],"").str.replace(i[1],"").str.replace(i[2],"").str.replace(i[3],"") \
        .str.replace(i[4],"").str.replace(i[5],"").str.replace(i[6],"")
        #print("Error list to check against")
        #print(i[0])
        #print(i[1])
        #print(i[2])
        #print(i[3])
        #print(i[4])
        #print(i[5])
        #print(i[6])
    print("Scenario 1 output with fixes")
    display(df)


run_scenario1(l)



############ Scenario 2  - Using a with statement #####################

#Once Python exits the with block, it closes the file
#can't use engine ='python' here , as it is an invalid keyword argument for open()
with open("C:/dataanalyticsireland/Python Code/youtube/codeused/files/importandcleandatacsv.csv") as f:
    emptylist=[]
    for line in f:
        emptylist.append(line)
df1 = pd.DataFrame(emptylist)
df1.columns = ['Temp']
df1[['Number','Error']] = df1['Temp'].str.split(',',expand=True)
#Drop the column Temp ,0 for rows and 1 for columns.
df1 = df1.drop('Temp', 1)
#Dropping the first row as it has the headers in it.
df1 = df1.drop(0)
#Resetting the index to start at value 0
df1 = df1.reset_index(drop=True)
#Replacing the Error field value that was created above witha value of 0.
df1['Error'] = df1['Error'].str.replace('0\n','0')
print("Scenario 2 printed as a dataframe")
display(df1)  
        

#Function to loop through the dataset and see if any of the list values below are found and replace them
def run_scenario2(*l):
    #This line extracts all the special characters into a new column
    #Using regular expressions it finds values that should not appear
    df1['Error'] = df1['Number'].str.extract('(\D+|^(0)$)')   
    #This line removes anything with a null value
    df1.dropna(subset=['Error'], inplace=True)
    #This line reads in the list and assigns it a value i, to each element of the list.
    #Each i value assigned also assigns an index number to the list value.
    #The index value is then used to check whether the value associated with it is in the df['Number'] column 
    #and then replaces if found
    for i in l:
        df1['Fix']= df1['Number'].str.replace(i[0],"").str.replace(i[1],"").str.replace(i[2],"").str.replace(i[3],"") \
        .str.replace(i[4],"").str.replace(i[5],"").str.replace(i[6],"")
        #print("Error list to check against")
        #print(i[0])
        #print(i[1])
        #print(i[2])
        #print(i[3])
        #print(i[4])
        #print(i[5])
        #print(i[6])
    print("Scenario 2 output with fixes")
    display(df1)

   
        
run_scenario2(l)


############ Scenario 3  - Using read CSV #####################

#putting in engine ='python' removes any need to do additional code to display in a dataframe correctly unlike above
df2 = pd.read_csv("C:/dataanalyticsireland/Python Code/youtube/codeused/files/importandcleandatacsv.csv",engine ='python')
print("Senario 3 printed as a dataframe")
display(df2)


def run_scenario2(*l):
    #This line extracts all the special characters into a new column
    #Using regular expressions it finds values that should not appear
    df2['Error'] = df2['Number'].str.extract('(\D+|^(0)$)')   
    #This line removes anything with a null value
    df1.dropna(subset=['Error'], inplace=True)
    #This line reads in the list and assigns it a value i, to each element of the list.
    #Each i value assigned also assigns an index number to the list value.
    #The index value is then used to check whether the value associated with it is in the df['Number'] column 
    #and then replaces if found
    for i in l:
        df2['Fix']= df1['Number'].str.replace(i[0],"").str.replace(i[1],"").str.replace(i[2],"").str.replace(i[3],"") \
        .str.replace(i[4],"").str.replace(i[5],"").str.replace(i[6],"")
        
    print("Scenario 3 output with fixes")
    display(df2)
   
        
run_scenario2(l)

Tutoriel Python, Python travaillant avec des fichiers Tags :Des données épurées, Nettoyage des données, Qualité des données, Importation CSV, Python, Tutoriel Python

Post navigation

Article précédent : Comment supprimer les caractères indésirables
Article suivant : Comment vérifier si un fichier est vide

Postes connexes

  • Tutoriel Python : Comment importer des données à partir de fichiers Travailler avec des fichiers en Python
  • Comment importer des données dans excel Tutoriel Python
  • Comment afficher les différences en pourcentage entre les fichiers en Python CSV
  • Comment passer par référence ou passer par valeur en Python ? Python
  • Comment nettoyer les données d'une table de base de données Nettoyage de données en Python
  • Tutoriel Python : Pandas groupby columns ( vidéo 2 ) Python

Choisissez votre langue !

  • English
  • हिंदी
  • Español
  • Português
  • Italiano
  • Deutsch
  • Qu'est-ce que GITHUB, et dois-je l'utiliser ? github
  • Comment regrouper vos données dans le tableau visualisation des données
  • TypeError : le premier argument doit être appelable Python
  • apprentissage automatique supervisé vs apprentissage automatique non supervisé ? apprentissage automatique
  • IndexError : l'index 2 est hors limites pour l'axe 0 avec la taille 2 Erreur d'index
  • Tutoriel Python : Comment créer une interface utilisateur graphique avec Tkinter Python
  • comment faire un copier/coller spécial d'une plage de cellules avec xlwings Python
  • Qu'est-ce que le langage assembleur ? Le langage assembleur

Copyright © 2023 Data Analytics Ireland.

Propulsé par le thème PressBook Premium

Ce site Web utilise des cookies pour améliorer votre expérience. Nous supposons que vous êtes d'accord avec cela, mais vous pouvez refuser si vous le souhaitez. Paramètres des cookiesACCEPTER
Politique en matière de confidentialité et de cookies

Aperçu de la protection de la vie privée

Ce site web utilise des cookies pour améliorer votre expérience lorsque vous naviguez sur le site. Parmi ces cookies, les cookies classés comme nécessaires sont stockés sur votre navigateur car ils sont essentiels pour le fonctionnement des fonctionnalités de base du site web. Nous utilisons également des cookies de tiers qui nous aident à analyser et à comprendre comment vous utilisez ce site web. Ces cookies ne seront stockés dans votre navigateur qu'avec votre consentement. Vous avez également la possibilité de refuser ces cookies. Toutefois, la désactivation de certains de ces cookies peut avoir un effet sur votre expérience de navigation.
Nécessaire
Toujours activé
Les cookies sont absolument nécessaires pour le bon fonctionnement du site web. Cette catégorie ne comprend que les cookies qui assurent les fonctionnalités de base et les fonctions de sécurité du site web. Ces cookies ne stockent aucune information personnelle.
Non nécessaire
Les cookies qui ne sont pas particulièrement nécessaires au fonctionnement du site web et qui sont utilisés spécifiquement pour collecter des données personnelles de l'utilisateur par le biais d'analyses, de publicités ou d'autres contenus intégrés sont appelés cookies non nécessaires. Il est obligatoire d'obtenir le consentement de l'utilisateur avant de placer ces cookies sur votre site web.
ÉCONOMISER & ACCEPTER