0

本当に簡単なことをしたい。Mysql DBに入れるために、ExcelデータをCSVにエクスポートしたいだけです。

巨大なExcelなので、例外を簡単に管理できません。

私の問題は、xslx を csv に保存すると"、列にコンマがある場合、または既にある場合にのみ、列を区切ることができる"ため、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

そのため、SQL用に変換するために多くのことを試みましたが、良い方法が見つかりません。

私はExcel 2007で作業しており、SQLはCSVにこの構成を持たせたいと思っています:

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

1 に答える 1

1

したがって、次を使用してデータをロードします

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

OPTIONALLY、ファイルをロードするときに実際には無視されます。より適切な言い方をすれば、 を指定しなくてもOPTIONALLY、囲みはオプションとして扱われます。つまり、列の値は引用符で囲むことができますが、必ずしもそうである必要はありません。afaikに注意してください。\Excel は値をエスケープするために使用しません。

MySQL へのインポート以外の目的で他の形式が必要な場合は、好みの設定で後で MySQL からデータを再エクスポートできます。file を書き込むときに、 を省略するOPTIONALLYと、すべての値に対して引用符がオンになります。

于 2012-10-08T06:09:47.127 に答える