掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダブルクォーテーションを含むcsvファイルの読み込みについて (ID:48126)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
EXCELから変換したcsvファイルを読み、StringListに取り込もうとしています。 csvファイルの中身は aaa,bbb,10,123 aaa,bbb,10,"1,234" となっていて数値が4桁以上だとダブルクォーテーションで囲まれ カンマが間に入っています。 このcsvファイルを 以下の方法で読もうとすると1行目はうまく取り込めますが、 2行目は1,234が1と234に分かれてしまいます。 上手く処理できる方法がありましたらご教授頂けると助かります。 ---------------------------------------------------------------- Result := CsvFileName; Delimiter := ','; // CSVファイルの読み込み AssignFile(W_FILE, CsvFileName); Reset(W_FILE); try // レコードがある場合、繰り返す。 while not EOF(W_FILE) do begin Readln(W_FILE, W_STR); // 1行読む // CSVデータ分割 StrListC := TStringList.Create; if W_STR <> '' then begin L := Length(Delimiter) - 1; N := AnsiPos(Delimiter, W_STR); while N > 0 do begin StrListC.Add(Copy(W_STR, 1, N - 1)); Delete(W_STR, 1, N + L); N := AnsiPos(Delimiter, W_STR) end; StrListC.Add(W_STR); end; finally CloseFile(W_FILE) end; { try }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.