Maison >base de données >tutoriel mysql >Comment puis-je importer efficacement des fichiers CSV dans SQL Server, en gérant les virgules, les guillemets doubles et les mauvaises données ?
Ce guide aborde les obstacles courants rencontrés lors de l'importation de fichiers CSV dans SQL Server à l'aide de la commande BULK INSERT
. Nous examinerons trois problèmes principaux et leurs solutions efficaces.
Défi 1 : virgules intégrées dans les champs de données
Les données CSV contiennent souvent des virgules dans les champs (par exemple, "John Doe, Jr."), qui BULK INSERT
interprètent comme des séparateurs de champs. La solution consiste à spécifier un délimiteur de champ alternatif, tel que "||", dans l'instruction BULK INSERT
:
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( FIELDTERMINATOR = '||' )</code>
Défi 2 : Gérer les doubles devis à partir des exportations Excel
Les fichiers CSV exportés par Excel utilisent fréquemment des guillemets doubles pour encapsuler les champs contenant des virgules. BULK INSERT
ne prend pas intrinsèquement en charge cela. Une instruction UPDATE
post-importation supprime efficacement ces guillemets :
<code class="language-sql">UPDATE table SET column_with_quotes = REPLACE(column_with_quotes, '"', '')</code>
Défi 3 : Identifier et gérer les données invalides
Pour identifier les lignes contenant des données problématiques dont l'importation a échoué, utilisez l'option ERRORFILE
. Cela demande à BULK INSERT
d'écrire les détails de ces lignes dans un fichier d'erreur distinct :
<code class="language-sql">BULK INSERT SchoolsTemp FROM 'C:\CSVData\Schools.csv' WITH ( ERRORFILE = 'C:\CSVData\SchoolsErrorRows.csv' )</code>
En mettant en œuvre ces techniques, vous pouvez rationaliser votre processus d'importation CSV dans SQL Server et gérer efficacement les incohérences potentielles des 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!