Charge csv en oleDB et de la force de tous les déduire les types de données de chaîne
Im essayant de charger un fichier csv dans une table de données à l'aide de oledb.
Ce n'est pas un problème, mais malheureusement l'un des domaines qui ressemble numérique a une valeur de chaîne dans environ 3% des champs et n'est donc pas remplie.
parce que im convertir csv en xml, j'ai vraiment ne se soucient pas de l'inférence de types de données et tout simplement besoin de données dans une chaîne que je peux lancer plus tard dans un Linq2XMl phase.
J'espère être capable de faire cela dans la chaîne de connexion.
Je ne veux pas simplement copier le tableau, mettre en place avec de nouvelles colonnes avec le type de données que je veux, puis écrire les données dans ce parce qu'impliquerait le chargement du fichier csv deux fois.
des idées?
ma chaîne de connexion en cours est
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + thefile.Répertoire + ";Extended Properties='text;HDR=Oui;FMT=Délimité'";
OriginalL'auteur John Nicholas | 2009-11-06
Vous devez vous connecter pour publier un commentaire.
Fait quelques researchand la réponse est d'utiliser un schéma.ini, mais la générer à la volée pour votre jeu de données.
http://msdn.microsoft.com/en-us/library/ms709353(SV.85).aspx
contient les informations requises.
pour construire le schéma:
pour charger le fichier csv que datatable
convertir xml
je charge le format csv pour créer le fichier de schéma, puis de le charger à nouveau pour obtenir les données.lire le lien vers l'article de microsoft sur la façon dont les fichiers de schéma de travail. Le code est ici uniquement des fragments de la clé des pièces vraiment.
c'est de travailler pour moi. Merci.
np heureux c'est toujours utile pour les gens! Je n'ai pas eu à le faire puisque tout le monde utilise json maintenant ;p
OriginalL'auteur John Nicholas
Pour la lecture d'un fichier CSV dans une DataTable je recommande ce CSV analyseur.
Il est vraiment facile à utiliser. Voici comment vous pouvez l'utiliser pour remplir une Table avec des données à partir d'un délimité par des virgules, devis qualifiés CSV:
Il y a un certain nombre d'options que vous pouvez définir: le séparateur, le texte qualifer personnage(s)si la première ligne du fichier CSV afficher les en-têtes de colonne (si la valeur est true, chaque DataColumn dans votre DataTable sera nommé en conséquence), etc.
Il y a un certain nombre de rapide, flexible CSV analyseurs de là, mais pour de simples exigences de cela on ne peut pas être battu.
Vous n'avez pas besoin de Dll externe pour cela. L'article comprend la classe que vous pouvez inclure dans votre projet.
OriginalL'auteur Jay Riggs