2012-03-09 165 views
0

現在CSVファイルをインポートしていますが、問題はこのCSVファイルが別の別のプログラム(コントロールしていない場合)から抽出されていることです。 ExcelファイルはCSV形式で保存されますが、テキスト/メモ帳で開くと保存されます。これは、前例のように表示されます。Powerbuilder dw文字列置換の構文

名前、性別、年齢、アドレス1、アドレス2

シド; M; 100; 44番目lowave; PQUE VILL

はそうではないコンマ今

セミコロンを使用しました私はExcelでそれを開き、コンマ区切りに区切りオプションを使用するようにユーザーに依頼することができますが、私は彼らがプロセスを自動化する方法を依頼することを知っています。

今すぐ私の準備が整いましたので、エクセルファイルを1列のデータウィンドウにインポートして、各行を解析して ";"それをdo、whileで "、"で置き換えてから、CSVとして保存してください。

私の質問は、Whileループを使用してcharごとのcharを置き換えるか、より良い方法がありますか?

ありがとうございます。

答えて

1

FileReadEx()ファイルを文字列変数に置き換えます。グローバル置換(PFCにはまだない場合はよい)、タブ付きのセミコロン、およびImportString()です。 (データにタブまたはセミコロンがないと仮定します)

ファイルを読み込んでそれを解析し、InsertRow()およびSetItem()で読み込みます。

幸運、

テリー

+0

感謝。それが最善の方法でしょうか?回答ありがとう – Sid

+0

これらのファイルは同じロケールで作成され、使用されていますか? ;カンマが小数点である地域設定のマシンでCSVが作成されたためです。したがって、別のオプションとして、Excel ODBCドライバを使用してデータをデータウィンドウにプルすることもできます(試してみません:))。 –

+0

ところで、グローバルな交換には注意してください。テキスト列にaが含まれていた場合、データとして、あなたは多くの人がそれを置き換えたくありません。 CSVでは、その列の値が引用符で囲まれます。列の値ALSOに二重引用符が含まれている場合、それらの引用符は二重引用符でエスケープされます。 –