CSVの読み込みで半角空白を無視するには?

解決


WAT  2007-11-19 17:52:34  No: 28545

TStringListでCSVファイルを処理したいのですが、対象となるCSVファイルに半角空白を含んだデータがあります。

仕様で半角空白もデリミタとして認識するようですが、これを避けるにはどうすればよいのでしょうか。


  2007-11-19 18:09:13  No: 28546

過去ログ
https://www.petitmonte.com/bbs/answers?question_id=2926


AVA  2007-11-21 04:06:38  No: 28547

CSVをStringListに入れるのであれば、1文字ずつチェックしていって
カンマが来たらStringListに追加すればいいんじゃないですか。
たとえば
function Csv2StringList(S: string): string;
var
  strs: TStringList;
  T: string;
begin
  Result := '';
  T := '';
  strs := TStringList.Create;
  try
    while Length(S) > 0 do
    begin
      if ByteType(S, 1) = mbSingleByte then
      begin
        if S[1] = ',' then
        begin
          strs.Add(T);
          T := '';
        end else begin
          T := T + S[1];
        end;
        Delete(S,1,1);
      end else begin
        T := T + S[1] + S[2];
        Delete(S,1,2);
      end;
      strs.Add(T);
    end;
    Result := strs.Text;
  finally
    strs.Free;
  end;
end;


WAT  2007-11-22 20:43:21  No: 28548

FAQでしたか...

リサーチ不足ですみません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加