|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
TextStreamの書き込みについて
しょうごさん
[2002/03/08 22:59:22]
[1837]
|
Re:TextStreamの書き込みについて
喜平さん
[2002/03/09 15:19:27]
[1841]
Re:TextStreamの書き込みについて
北岳さん
[2002/03/09 17:10:08]
[1844]
Re:TextStreamの書き込みについて
しょうごさん
[2002/03/13 23:23:43]
[1866]
|
| [1837] TextStreamの書き込みについて |
| 投稿者:しょうごさん 2002/03/08 22:59:22 |
| はじめまして、しょうごともうします。 調べてみても,わからなかったので、質問させていただきました。 test.txtという、csv形式(カンマ区切り)のテキストファイルがあります。 例)test.txt a,11,1,1,11 b,2,2,2,22222 c,33,3,33,3 a・c行の値は,そのままで、 ファイルの中間行にあるbの行に ”b,5,55,5,5,”という値を上書きしたい場合は、 どのようにすればよいのでしょうか? 通常の、テキストファイルに上書きや 追加などの処理のかきこみは、わかるのですが。 読み込みと違って,skipなどはつかえないじゃないですか?! 通常の上書き処理では、a・cの行の値もなくなってしまいます。 できましたら、例などをあげていただけるとうれしいです。 よろしく、ご指導おねがいします。 |
| [1841] Re:TextStreamの書き込みについて |
| 投稿者:喜平さん 2002/03/09 15:19:27 |
| > はじめまして、しょうごともうします。 > 調べてみても,わからなかったので、質問させていただきました。 > > test.txtという、csv形式(カンマ区切り)のテキストファイルがあります。 > 例)test.txt > a,11,1,1,11 > b,2,2,2,22222 > c,33,3,33,3 > > a・c行の値は,そのままで、 > ファイルの中間行にあるbの行に > ”b,5,55,5,5,”という値を上書きしたい場合は、 > どのようにすればよいのでしょうか? 別に、特別なことはしません。 元のファイルのデータをすべて、読み込み、 適当に加工して、加工したデータで、 ファイルを上書きします。 |
| [1844] Re:TextStreamの書き込みについて |
| 投稿者:北岳さん 2002/03/09 17:10:08 |
| 書換基準点がどこにあるか次第なので、私なら元CSVファイルの性質に合わせてその都度考えます。 [1]1行(1レコード)を一つの文字列と捉えたとき、書換情報が事前に判っていれば、 str1=置換前文字列 & csv区切文字(vbCr and/or vbLf のどれか) str2=置換後文字列 & csv区切文字 を設定してから、 strall=ts.ReadAll⇒Replace(strall,str1,str2) で一発置換します。(一時ファイルは作成不要) (各レコードは、ファイル全体中でユニーク、全く同一のレコードが複数あり最初の1つだけor全部換える、などありますから状況次第。) [2]何行目を換えるか判っている場合、ReadLineで1行づつ読み込み、コピーだったり書き換えたりしながら、 一時ファイルを作るなら、WriteLineで1行づつ書き写します。 メモリ内だけでやるなら、文字列を & でつなげて行きます。 [3]"abc,?,?,?" を "abc,1,2,3" に書きかえる場合で、頭のabcだけユニークで後に何があるか判らなければ、 strall=ts.ReadAll後に区切文字でSplitして配列に入れてから、 left(strall,3)="abc" となる配列要素を探し置換前の中身を得れば、[1]を適用できます。 ("abc"の部分の文字数も不明なら、区切文字でSplitした配列要素をさらに","でSplitします。) [4]1文字づつ読み MidやInStr関数を使って書きかえるのは、相当にややこしいからお勧めしません。 どれも最後に上書保存します。 |
| [1866] Re:TextStreamの書き込みについて |
| 投稿者:しょうごさん 2002/03/13 23:23:43 |
| お返事かんりおそくなりまして、 申し訳ありません。。。。。。 一生懸命考えて、書き込み方がわからなかったのに。 皆さんの回答をうかがって、 方法がいろいろあることがわかり、 本当にお勉強になりました。 勉強の為に、すべての方法を試してみたいとおもいます。 実際、現段階では喜平さんの掲示していただいた、 ファイルを一つ用意して 元のデータを加工したやり方を実行しました。 また、北岳さんの掲示していただいた方法も試してみます。 本当にありがとうございました。 |
|
TreeBBS For ASP V.0.1.3 |