Maison >développement back-end >Tutoriel Python >Pandas `CParserError` : Comment résoudre les « Champs X attendus, scie Y » ?
pandas.parser.CParserError : l'énigme de la tokenisation des données d'erreur
Lors de la tentative de lecture d'un fichier .csv à l'aide de la bibliothèque pandas, les utilisateurs rencontrent une erreur énigmatique : pandas.parser.CParserError : erreur de tokenisation des données. Erreur C : 2 champs attendus à la ligne 3, vu 12. Malgré la consultation de la documentation des pandas, aucune résolution claire n'est trouvée.
L'extrait de code d'une simplicité trompeuse :
path = 'GOOG Key Ratios.csv' #print(open(path).read()) data = pd.read_csv(path)
en est la proie erreur insaisissable. La question se pose : comment surmonter cet obstacle ? Faut-il envisager des modules alternatifs ou même des langages de programmation ?
Une lueur d'espoir
N'ayez crainte, amis développeurs ! La solution réside dans le domaine lui-même des pandas. En ajoutant l'argument suivant à la fonction pd.read_csv(), l'erreur peut être surmontée gracieusement :
data = pd.read_csv('file1.csv', on_bad_lines='skip')
Cette modification demande aux pandas d'ignorer toutes les lignes qui provoquent des problèmes d'analyse, évitant ainsi le problème. De plus, si vous souhaitez plus de contrôle sur la gestion des lignes corrompues, vous pouvez définir une fonction de rappel personnalisée pour fournir des réponses personnalisées.
Pour les versions de Pandas antérieures à 1.3.0, la syntaxe suivante s'applique :
data = pd.read_csv("file1.csv", error_bad_lines=False)
Avec ces ajustements, la mystérieuse erreur disparaît, vous laissant libre d'exploiter la puissance des pandas pour vos besoins de manipulation de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!