各行が次のような大きなテキスト ファイルがあります (技術的にはそうではありませんが、CSV ファイルと呼んでいます)。
col1 valueA col2 valueB col3 valueC ...
col1 valueX col2 valueY col3 valueZ ...
ファイルの先頭に各列のヘッダーを宣言する行を配置する代わりに、各列の名前が各行のその列の値の前に表示されます。
このファイルの値 ( valueA、valueB、valueCなど) を MySQL データベースにインポートしようとしています。以下を使用して、より単純な CSV スタイル ファイルの内容をインポートできることを知っています。
LOAD DATA LOCAL INFILE 'test.csv'
INTO TABLE test
FIELDS TERMINATED BY ' '
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
ただし、これは、インポートしようとしているファイルの構造に対しては実際には機能しません。
私のデータファイルの各列の名前は可変長にすることができるので、理想的にはオプションに正規表現 (のようなもの[a-z]{3,}
)を指定したいと思いFIELDS TERMINATED BY
ますが、これは機能しません。
では、このデータをデータベース テーブルに解析するにはどうすればよいでしょうか。