CSVファイルの改行の削除について

改行のあるカンマ区切りのCSVファイルから、 改行をすべて削除するプログラムを作りたいのですが、 改行が削除できません。
checkfile	="test.csv"
fid= FOPEN(checkfile,F_READ or F_WRITE8)
FOR col = 1 to FGET(fid, -1) //行数分
	linestr= FGET(fid, col)
	linestr= TRIM(linestr,TRUE)
	linestr= REPLACE(linestr, "<#CR>", "") 
	FPUT(fid,linestr,col)
NEXT
FCLOSE(fid)
改行コードは以外にもあるようですが、 、も試してみましたが、 削除できませんでした。 方法はありますでしょうか? よろしくお願い致します。

タグ

2012年6月12日 | コメント/トラックバック(3) |

カテゴリー:掲示板

FGET

FGET関数

ファイルを読み込む
戻値 = FGET( ファイルID, 行, [列, ダブルクォーテイション])

引数

ファイルID・・・FOPENで取得したファイルID
行・・・取出したい行(1から指定)

もしくは下記を指定
F_LINECOUNT・・・ファイルの行数を返す
F_ALLTEXT・・・ファイルの全内容を返す

列・・・取出したい列(1から指定:,カンマ区切りのCSVファイルに対応)
ダブルコーテイション

FALSE: 両端のダブルコーテイションは削除(デフォルト)
TRUE: 削除しない
戻値
取出された値

ファイルの中身の全内容を返す

//事前にファイルを準備
//C:\myTest.txt作成
DOSCMD("echo %DATE%%TIME% > C:\myTest.txt")
ID = FOPEN("C:\myTest.txt")
PRINT FGET(ID,F_ALLTEXT)
//中身を確認した後、ファイル自体は削除
MSGBOX("C:\myTest.txtをメモ帳で開き、削除します")
DOSCMD("notepad C:\myTest.txt")
DOSCMD("del C:\myTest.txt")

このスクリプトでファイルの中身を取得できます。
スクリプト実行後は作成したファイルは不要なので
削除しています。

ファイルの指定行数のデータを取得する

3行分のデータがあるファイルを対象に
指定行のデータを取得してみましょう。
スクリプトは下記のようになります。

この投稿の続きを読む »

タグ

2012年5月14日 | コメントは受け付けていません。 |

カテゴリー:関数一覧

まとめて特定の組合わせの文字列をつくりたい。

まとめて特定の組合わせの文字列をつくりたい。
具体的には、アフィリエイト用のキーワードを作りたいと思っています。
例) 
Aグループ
FX
株式
日経225
先物
Bグループ
登録
入会
口座開設
比較

それぞれのグループのワードを全て組合わせたキーワードを作成したいです。
FX 登録、FX 入会、FX 口座開設、FX 比較、株式 登録、株式 入会・・・
といった具合です。よろしくお願いします。

EXCELでもできないことはありませんが、
すべての組合せをいちいちやるのは大変ですね。

また、VBAを利用する方法がありますが、
UWSCと較べると少しハードルが高いようです。

UWSCならば、FOPEN関連のスクリプトを使えば簡単にできます。
前提として、
Aグループのワードを1語づつ改行したテキストファイルをA.txt
同様にBグループをB.txtとします。

PRINTで組合せを表示するサンプル
///ファイルオープン
fid	= FOPEN("A.txt", F_READ)
fid2	= FOPEN("B.txt", F_READ)

For KAISU_A = 1 to FGET(fid, -1)

	STR_A = FGET(fid, KAISU_A)	//A.txtのデータを取得
	For KAISU_B = 1 to FGET(fid2, -1)
		
		STR_B = FGET(fid2, KAISU_B)	//B.txtのデータを取得

		PRINT STR_A + " " + STR_B	//AとBを組合わせる

	NEXT
NEXT
FCLOSE(fid)
FCLOSE(fid2)

解説

使用している関数はFOPEN,FGET,FOR~NEXTになります。
これら個々の説明は関数一覧などを参照していただくとして、
サンプルの中で、覚えておきたいのは、
FGET(fid, -1)です。

通常、FGET関数は、fidの後は行番号を指定しますが、
「-1」の場合、ファイルの行数を返します。

これにより、ファイルの行数分、上からデータを取得できます。
このテクニックは非常に有効なので、覚えておくと便利です。

後は、すべての組合せを実現するためにFORの中でFORをかます
というテクニックですべての組合せを行えます。

さらに便利に使いたい場合は、
A.txtをフォームから生成させる方法などがあります。

タグ


2012年4月15日 | コメントは受け付けていません。 |

カテゴリー:Q&A

このページの先頭へ