SQL ServerにCSVデータをインポートする

bulkinsert sqlbulkcopy sql-server sql-server-2008 sql-server-2008-r2

質問

私はこのようなcsvファイルのデータを持っています:

Name,Age,Location,Score
"Bob, B",34,Boston,0
"Mike, M",76,Miami,678
"Rachel, R",17,Richmond,"1,234"

このデータをSQL ServerテーブルにBULK INSERTしようとすると、2つの問題が発生しました。

  1. FIELDTERMINATOR = '、'を使用すると、最初の(場合によっては最後の)列が分割されます
  2. 最後の列は整数列ですが、1000より大きい場合は引用符とカンマ区切り記号が付きます

最初にcsvファイルを手動で解析することなく、このデータを(XML形式ファイルなどを使用して)インポートする方法はありますか?

私はどんな助けにも感謝します。ありがとう。

人気のある回答

MySQLの負荷データを使用する:

LOAD DATA LOCAL INFILE 'path-to-/filename.csv' INTO TABLE `sql_tablename` 
CHARACTER SET 'utf8' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
IGNORE 1 LINES;

optionally enclosed by '\"'部分、またはエスケープ文字と引用符でoptionally enclosed by '\"'部分は、最初の欄のデータを最初の欄にまとめて保持します。

IGNORE 1 LINESは、フィールド名の行をそのまま残します。

UTF8行はオプションですが、名前にJoséのような分音記号がある場合は使いやすいです。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ