- 締切済み
CSVファイルの読み込み
ASPの勉強をしています。 CSVファイルを読み込んでDBに登録していきたいのですが、 111,222,"aaa[改行]bbb","1,000",444,555 のようなデータがあったとすると、 「1,000」の桁区切りのカンマのせいで、 「1」 と 「000」に別れてしまいます。 これを防ぐプログラムを作りたいのですが、 わかる方よろしくお願いします。 現在はReadLineで1行ずつ読み込んでいます。 set ObjFS = CreateObject("Scripting.FileSystemObject") set Stream = ObjFS.OpenTextFile(Server.MapPath(FILENAME,1,false,0) ReadBuf = Stream.ReadLine
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- WizardZero
- ベストアンサー率50% (5/10)
回答No.2
「1」と「000」に別れてしまいます。 と、ありますがこれはDBに登録した結果ですか? それともSplit関数の結果でしょうか・・・。 あと、データ中に改行が含まれているにもかかわらず、1行ずつの読み込んでちゃんと登録できるのか、疑問です。 Split関数でレコードを分解し、データに改行を許可するのであれば、 ・ダブルクォーテーション(")を考慮したSplit関数を自作 ・データに改行が含まれていたら次の行も1件として考える という仕組みが必要になると思います。
- Hiroshi101
- ベストアンサー率27% (37/133)
回答No.1
元々のdataに問題があるような気がしますが 無理やり行うのであれば、列DATA一つづつ if ””がある場合 then if dataに,が存在した場合, then を削除する の処理を入れればよいのではないですか。
補足
ありがとうございます。 「1」と「000」に別れるのは、 おっしゃる通り、Split関数の結果です。 配列数を確認して足りなかったら、 次の行も連結する、という方法で読み込んでます。 ダブルクォーテーションを考慮した自作の関数ですが、 もしよろしければ、 ソースでもあれば教えていただきたいのですが。 まったくわからないので・・・。