2015-11-13 13 views
5

私はかなりの量のCSVファイルを月ごとに変更することができ、1行に約450データポイントがあります。また、永続的なテーブルにデータを挿入する前に、データを操作する必要があります。だから私の計画は、一時的なテーブルにインポートし、それを操作して、データを挿入することです。一時テーブルにCSVをインポートするには

しかし、一時的なテーブルにCSVをインポートするかどうか、あるいはCSVをインポートする何らかの方法(最初の行にはCSVに列見出しがある)に関する情報はありません。

一時テーブルを作成して1つの列を作成してからCSVをインポートしようとしましたが、インポートできませんでした。

500,400,101,93,005,22 
4,954,23434,123423432,44 
+0

さて、あなたがいない列を持つテーブルを作成することはできませんので、何の選択肢がありませんでした。一般に、MySQLの一時テーブルは非常に動的です。つまり、クエリを実行して列を動的に追加することができます.CSVをインポートしている間も同じことが達成できるとわかりました。 – Ashley

+1

いいえテーブルを作成して、インポートする列の数とまったく同じ数にする必要はありません – davejal

答えて

0

コマンドでインポートオプションを試みることができる:それは(すべてのデータポイントが数)形式になっています、CSVの例として

DROP TEMPORARY TABLE IF EXISTS tmp_import; 

CREATE TEMPORARY TABLE tmp_import (id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY); 

LOAD DATA LOCAL INFILE '/import.csv' INTO TABLE tmp_import 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES; 

:これは私がこれまで試したものですライン

mysqlimport --ignore-lines=1 --fields-terminated-by=, --verbose --local 
    -u [user] -p [database] /path/to/address.csv 

/path/to/address.csvは、この場合には、ファイルのアドレスの名前と一致するようにしてください、CSVファイルへの完全なパスで、テーブルの名前で、それは動作しませんotherwish、拡張可能性があります何でも、まったくない。

それとも

LOAD DATA LOCAL INFILE 'File.csv' 
INTO TABLE tableName 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 

参照:MySQL Documentation on LOAD DATA INFILE

関連する問題