0
votes

remplacer le caractère spécial python

J'ai une liste de titres proviennent d'un fichier CSV, mais certains d'entre eux ont (, a) et je souhaite la supprimer à Becaome (a), puis ajoutera un nouveau titre à la nouvelle liste, mais j'ai eu une erreur.

Code: xxx

erreur xxx


2 commentaires

Qu'est-ce que video_file? Devrait-il être: title = title_file ['titre'] ?


oui, mais quelle est la solution


3 Réponses :


0
votes

Je vais suggérer deux modifications qui pourraient vous aider à comprendre l'erreur: Tout d'abord, au lieu d'utiliser une boucle de temps, utilisez A pour boucle et itérale sur les éléments de la liste de titres. Avant d'essayer de faire face à l'erreur, essayez d'imprimer les variables de cette liste, Il pourrait y avoir un titre de type flotteur - c'est-à-dire un nombre, que vous ne pouvez pas itérair, (ou essayez de supprimer des caractères spéciaux). S'il y a un tel titre, essayez de créer deux conditions en utilisant si des déclarations fonctionnent avec chaque type différemment, voici ce que je veux dire.

for x in title: #iterating over the list
    if type(title) == float or type(title) == int:
       #do something
    else:
       #do something else


0 commentaires

0
votes

Deux améliorations peuvent être apportées au code posté

  • Utilisez DataFrame Appliquer plutôt que d'utiliser Python pour ou tandis que la boucle pour traiter chaque titre (c'est-à-dire très lent)
  • Utilisez REGEX plutôt que de boucler à travers chaque lettre de l'alphabet pour vérifier la virgule suivie d'une lettre (aussi lente)

    code xxx

    test

      • Générez un jeu de données - Liste des titres de films et une année publiée
      • contient des virgules souhaitées et indésirables dans le titre

        Exemple de virgule indésirable:

        • le S, même samouraï

          Exemple de virgule souhaitée:

          • 'i, Tonya'

            Créer un jeu de données xxx

            Dataset avant le nettoyage xxx

            Dataset après le nettoyage < Pré> xxx


0 commentaires

0
votes

Vous obtenez cette erreur car la variable 'Titre' est un objet de la série dans Pandas et non une liste. Si vous souhaitez modifier les noms de colonne de votre Dataframe, vous pouvez le faire:

      column_name = list(title_file.columns)
      column_dict = {}
      for name in column_name:
          for char,idx in enumerate(name):
             if char == ',':
                new_name = name[idx+1:])
                column_dict[name] = new_name
      title_file.rename(columns = column_dict, inplace = True)


0 commentaires