Je veux lire un fichier CSV Enregistrer dans la liste et compter les numéros de chaque mot, mais j'ai eu une erreur d'erreur est à propos de l'index de la liste hors de portée dans Python.
J'ai 21291918 rangées dans le fichier CSV. Ce qui suit est une capture d'écran du fichier CSV. P>
Ce qui suit est mon code: p> Lorsque j'exécute ce code, j'ai eu le problème suivant: p> Traceback (most recent call last):
File ".\count_All_Other_Content.py", line 38, in <module>
column = [row[0] for row in reader]
File ".\count_All_Other_Content.py", line 38, in <listcomp>
column = [row[0] for row in reader]
IndexError: list index out of range
3 Réponses :
Peut-être que vous pouvez simplement modifier votre colonne Si l'en-tête est vide, il soulève une indexerError lorsque vous essayez d'accéder à tous les éléments. P> [ligne [0] pour la ligne dans le lecteur] code> ligne à l'une d'entre elles: p>
colonne = [ligne [0] Si la ligne d'autre d'autre pour la ligne in lecteur] code> - cela préservera les index si c'est important li>
colonne = [ligne [0] pour la ligne dans le lecteur si ligne] code> - cela saute les lignes vides li>
ul>
for row in reader:
if len(row[0]) > 0:
column = row[0]
else:
pass
You can add this line before author_list and after reader lines. So that if checks if something is on there, it takes it. Otherwise it passes to other rows.
Je pense que le moyen le plus rapide de le faire est d'utiliser des readlines telles que ceci: maintenant lignes em> est une liste de toutes les lignes du fichier Si une ligne est vide, vous aurez une chaîne vide ('') dans la liste et vous pouvez facilement vérifier cela. Vous pouvez également supprimer les caractères '\ r' et '\ n'. P> Si vous souhaitez compter le nombre de mots différents, vous pouvez simplement utiliser len (set (lignes)) code> . Si vous souhaitez que le nombre de chacun de chacun, vous pouvez utiliser une fonction numpy.unique qui vous donnera la gamme de valeurs uniques et du nombre de ceux-ci. P> P>
On dirait qu'il y a une ligne vide dans le fichier. Alors, vérifiez-le.
Comme Tom dit, certaines lignes peuvent simplement être une liste vide, de sorte que l'index
0 code> n'existe même pas. Vous pouvez les filtrer.colonne = [ligne [0] pour la ligne dans le lecteur si la ligne] code>De quoi avez-vous besoin de récursions?