2012-03-09 70 views
0

我目前正在導入CSV文件,但問題是,這個CSV文件是從另一個不同的程序提取(W/C我不控制)。 Excel文件保存爲CSV格式,但在文本/記事本中打開時。它表現出像這樣的前例。PowerBuilder的語法爲DW字符串替換

名;性別,年齡,地址1;地址2

西特;米; 100; 44 lowave ST; pque VILL

現在使用分號不是逗號我可以讓用戶在excel中打開它,並使用分隔符選項使逗號分隔,但我知道他們仍然會要求一種方法來自動化該過程。

現在我正在準備爲自己即將要求,所以我想導入的Excel文件一列的DataWindow然後解析每行找到了「;」並以「do」替換(),然後將其另存爲CSV。

我的問題是我在使用While循環或者有更好的方式來代替每個字符的char?

非常感謝。

回答

1

FileReadEx()的文件轉換成一個字符串變量,全局替換(PFC有,如果你不已經是不錯的一個)與標籤分號,並ImportString()。 (假定數據沒有標籤或分號。)

或者讀取這個文件,自己和負載的InsertRow()和SetItem解析它()。

祝你好運,

特里

+0

感謝。所以這將是最好的方式?感謝您的回答 – Sid 2012-03-10 01:11:20

+0

這些文件是否由相同的語言環境創建和使用? The;可能是因爲CSV是在帶逗號爲小數點的區域設置的計算機上創建的。因此,另一種選擇可能是使用Excel ODBC驅動程序將數據拖入數據窗口(還沒有嘗試過:))。 – 2012-03-10 06:59:38

+0

順便說一句,小心全球替代。如果一個文本列碰巧包含一個;作爲數據,你們許多人不想取代它。在CSV,該列的值將用引號括起來......然後,如果列值也有雙引號括起來,這些報價將與第二雙引號逃脫。 – 2012-03-10 07:02:08