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 ?

Comment puis-je importer efficacement des fichiers CSV dans SQL Server, en gérant les virgules, les guillemets doubles et les mauvaises données ?

DDD
DDDoriginal
2025-01-19 07:27:09783parcourir

How Can I Efficiently Import CSV Files into SQL Server, Handling Commas, Double Quotes, and Bad Data?

Maîtriser les importations de fichiers CSV dans SQL Server : relever les principaux défis

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn