2012-10-08 12 views
0

Je veux faire quelque chose de vraiment simple. Je veux juste exporter des données excel à un CSV afin de le mettre dans une base de données Mysql.export CSV vers MySQL

Il est un énorme Excel je ne peux pas gérer facilement des exceptions.

Mon problème est que quand je sauve mon XSLX en csv, il m'a mis la " pour séparer les colonnes que s'il y a une virgule dans la colonne ou s'il y a déjà un " j'ai donc quelque chose comme ça dans mon CSV:

col1 | col2 | col3 => col1,col2,col3 
col1 | co,l2| col3 => col1,"co,l2",col3 
col1 |"col"2| col3 => col1,"""col""2",col3 
col1 |  | col3 => col1,,col3 

donc j'ai essayé beaucoup de Tings pour le convertir pour SQL mais je ne trouve pas une bonne façon.

Je travaille dans Excel 2007 et SQL voulez CSV d'avoir cette configuration:

Columns separated with: , 
Columns enclosed with: " 
Columns escaped with: \ 
Lines terminated with: auto 
+3

MySQL 'LOAD DATA LOCAL INFLILE' a' SEPARE argument COLONNES BY' vous pouvez utiliser sans même la conversion. – Kevin

+0

MySQL ne devrait pas être à la recherche à des virgules entre guillemets si vous utilisez les params correctes –

+1

règles de Thats parfaitement CSV normal/sain d'esprit. S'il n'y a aucune raison d'ajouter des citations, alors ce n'est pas le cas. (Les citations doivent être ajoutées si les données contiennent des guillemets ou des virgules - le séparateur Voir l'article wikipedia pertinent.) –

Répondre

1

Vous voulez load your data en utilisant

LOAD DATA FROM INFILE 'filename.csv' 
INTO TABLE tablename 
COLUMNS TERMINATED BY ',' 
     OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 

Le OPTIONALLY est en fait ignoré lors du chargement d'un fichier, ou pour l'exprimer d'une meilleure façon, même si vous ne spécifiez pas OPTIONALLY, l'inclusion sera toujours considérée comme optionnelle. Ce qui signifie qu'une valeur de colonne peut être entre guillemets, mais ont besoin non être. Notez que afaik. Excel n'utilise pas \ pour échapper des valeurs.

Si vous avez besoin d'un autre format à des fins autres que l'importation dans MySQL, alors vous pouvez ré-exporter les données de MySQL après, avec les paramètres que vous préférez. Lorsque writing a file, en omettant le OPTIONALLY va activer les citations pour chaque valeur.