改行の入った文字列をCSV出力するには?

解決


みみ  2005-09-13 23:57:24  No: 17557

お世話になっております。

CSV出力にて、以下の問題が発生しました。
・1項目が複数行の項目をCSV出力すると、改行の個数分","が入ってしまう。

StrList.Add(データ1);
StrList.Add(データ2);
Writeln(CsvFile,StrList.CommaText);

としているのですが、
たとえばデータ1に改行が1個入っていると、
StrList.CommaTextは3項目持っていることになって
CSVには3つのデータが並んでしまいます。
(2つを期待している)

改行をうまく処理する方法はないものでしょうか。

データ1の改行を、改行としてはき出すことができればよいのですが。


まる  2005-09-14 00:32:09  No: 17558

改行・・

データ1  :  'ABC' + #13#10 + 'DEF'
データ2  :  'abcdef'

CSVファイルだとしたら以下のようになるでしょう
"ABC", "DEF"
"abcdef", ""

ああする、こうする以前に
CSVに出力するという仕様に問題があると思いますが。


みみ  2005-09-14 00:39:22  No: 17559

データはユーザが入力する文字列なので、途中に改行を入れられる可能性があるのです。
まるさんのデータから出したいCSVは、
"ABC[改行]
DEF"[改行]
"abcdef"

です。

データ1の文字列をStringListに入れる前になにかの文字に置き換えて
CSVに吐くときそれを改行に置き換えるというような処理をしないと
いけないのかなと思っているところです。。。


みみ  2005-09-14 01:44:34  No: 17560

一時的に改行を別の文字列で置換して、もとに戻す方法で対処しました。
ありがとうございました。


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

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






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