Lire CSV avec Scanner() : gérer les citations et le formatage
Lorsque vous essayez de lire un fichier CSV avec un objet Scanner, il est important comprendre les nuances du formatage CSV, notamment en ce qui concerne la gestion des espaces. La classe Scanner coupe généralement les lignes sur les espaces par défaut, ce qui peut entraîner la répartition des données sur plusieurs lignes.
Pour éviter ce problème, il est essentiel de considérer les différentes manières dont les espaces peuvent être représentés dans un fichier CSV :
L'exemple CSV fourni dans la question illustre ce problème. Le champ "Adresse 1" contient un espace qui n'est pas entouré de guillemets, ce qui entraîne sa répartition sur plusieurs lignes.
Pour résoudre ce problème, il est recommandé d'utiliser une bibliothèque d'analyse CSV qui prend en charge la gestion appropriée des guillemets et du formatage. . Plusieurs options fiables sont disponibles :
Ces bibliothèques offrent des capacités d'analyse robustes et peuvent gérer des formats CSV complexes, y compris des champs avec des espaces et différents styles de citation. Ils adhèrent également au CSV RFC, garantissant une analyse précise et fiable.
Bien qu'il soit possible d'écrire des analyseurs CSV personnalisés, cela n'est généralement pas recommandé en raison de la complexité et du risque d'erreurs. En tirant parti des bibliothèques CSV établies, vous pouvez éviter les pièges courants et garantir une gestion précise des fichiers CSV, y compris la préservation des espaces et autres caractères de formatage.
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!