L'importation de CSV à l'aide de LOAD DATA INFILE citation problème
Je vais essayer d'obtenir ce fichier CSV que j'ai exporté à partir d'excel chargé dans ma base de données et je n'arrive pas à obtenir la mise en forme correcte, peu importe ce que j'essaie.
Voici le SQL:
LOAD DATA INFILE 'path/file.csv'
INTO TABLE tbl_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(column1, column2, column3);
Cela fonctionne bien, mais alors j'ai un problème lors de la fin d'une ligne (colonne 3) se termine par une citation. Par exemple:
Valeur réelle: These are "quotes"
Valeur dans le format CSV: "These are ""quotes"""
Ce qui se passe, c'est que je vais obtenir un supplément de devis sur cette valeur dans la base de données et les autres lignes jusqu'à ce qu'il atteigne une autre citation dans le CSV. Aucune idée sur comment résoudre ce problème?
OriginalL'auteur Vanessa | 2011-08-11
Vous devez vous connecter pour publier un commentaire.
Hmm. J'ai essayé de reproduire ce problème, mais ne le peuvent pas. D'où mes données diffèrent de la vôtre? Pouvez-vous fournir des exemples de données à dupliquer ce? Voici ce que j'ai fait:
Semble ok pour moi(?)
Notez également que si vous travaillez sur une plate-forme Windows, vous pourriez avoir besoin d'utiliser
LINES TERMINATED BY '\r\n'
à la place.LINES TERMINATED BY '\r\n'
à la place.Super réponse, j'ai essayé exactement ce que vous avez ci-dessus, mais recevez le message d'ERREUR 29 (HY000): File '/tmp/données.csv' not found (Errcode: 13), j'ai aussi essayé d'ajouter load data local infile, mais il a obtenu de l'erreur erreur 1148 (42000): La commande utilisée n'est pas permis avec cette version de MySQL, je suis en utilisant 5.5.34 et les autorisations sur mon dossier temp sont drwxrwxrwt est-il autre chose que j'ai besoin de vérifier ici pour obtenir ce travail?
Que se produit généralement lorsque le serveur MySQL n'est pas sur le même hôte que le client où vous êtes l'exécution de ces commandes. Rends compte que c'est le serveur qui a besoin de charger les données, pas le client. Donc, si vous vous connectez à un serveur distant, alors vous ne pouvez pas importer des données de cette façon, à moins que vous télécharger les données vers le serveur en premier.
Merci pour l'info, si j'entre sélectionnez l'hôte de information_schema.processlist \G et obtenez de l'hôte: localhost et quand dans ubuntu, mon fichier /tmp/données.csv donc, je crois que j'aurais la même configuration que vous? cat /tmp/données.csv fonctionne comme votre ex, mais pas de chance d'importation. Je vais continuer à chercher
J'ai été chargement de données à partir .fichier txt et a eu des problèmes. J'étais sûr que
\r\n
n'était pas le problème mais j'ai finalement abandonné et il a essayé..., aaaaand il a travaillé.OriginalL'auteur Casper