数字が並んだテキストファイルがあるのですが、

数字の1文字ごとにカンマで区切るプログラムがありましたら、
大変申し訳ないのですが、
exeでファイルで読み取り、出力出来る形で頂けないでしょうか?

CSVファイルにして、1セル1数字のエクセルにしたいと思っています。

例:数字が並んだテキストファイル
01111111
01000001
01011101
01010101


(このファイルにしたい)
0,1,1,1,1,1,1,1
0,1,0,0,0,0,0,1
0,1,0,1,1,1,0,1
0,1,0,1,0,1,0,1

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/02/26 23:53:32
  • 終了:2008/03/04 23:55:02

回答(4件)

id:hayate_007 No.1

hayate_007回答回数89ベストアンサー獲得回数32008/02/27 00:04:58

ポイント23pt

テキストエディタで

普通に正規表現を使用して 「0」 を 「0,」 で置換するのはまずいんでしょうか?

※数字の1文字を数字の1文字+カンマで置換する

「exeでファイルで読み取り、出力出来る形で」という部分がよくわからないのですが.

id:hayate_007 No.2

hayate_007回答回数89ベストアンサー獲得回数32008/02/27 00:21:32

ポイント23pt

コメントが付けられないので質問で補足します

自分の使っている下記のソフトを使った例であれば

Devas

http://www.vector.co.jp/magazine/softnews/030308/n0303083.html

※やり直しが聞くので愛用していますが合致部分が多いとそれなりに重いです

※データが数千とか数万の場合はやり直しが聞かない別のソフトをどうぞ

1.検索「¥d」→置換「¥0,」数字を数字+カンマに置換

2.検索「$,」→「」行末のカンマを削除

※¥と$は実際は小文字です.

正規表現も何種類か(?)あるようですが基本は一緒なので覚えておくと便利ですよ.

id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912008/02/27 00:54:53

ポイント22pt

目的が Excel に読み込むことでしたら、最初からEXCEL で処理をしたらどうでしょうか。


新しいシートタブで右クリックし「コードの表示」をクリックします。

表示されたウィンドウに下記をコピーします。


先頭の行のファイル名をデータのファイルパスに変更し、sepName にカーソルを置いてから、

F5を押してみてください。

Const fileName = "C:\data.txt"

Sub sepNum()
    Dim Lines, Ln
    With CreateObject("Scripting.FileSystemObject")
        Lines = Split(.OpenTextFile(fileName).ReadAll(), vbNewLine)
    End With
    
    Dim i As Long
    Dim j As Long
    j = 1
    For Each Ln In Lines
        For i = 1 To Len(Ln)
            Cells(j, i).Value = Mid(Ln, i, 1)
        Next
        j = j + 1
    Next
End Sub

不明な点はコメントにて対応しますので、有効にしてください。

id:hiyarihatto

ありがとうございました。感動しました。

助かりました。

2008/02/27 10:43:53
id:a2gi No.4

a2gi回答回数81ベストアンサー獲得回数32008/02/27 02:14:10

ポイント22pt

Yahoo!ブリーフケース - 一覧表示

「chikan.zip」というファイルをダウンロードし解凍してください。コマンドラインで使うプログラムです。

コマンドプロンプトを起動し、cdコマンドを使い、解凍したフォルダへ移動してください。

(よく分からないときはDocument and Setting¥ログオンしているユーザー名の直下にchikan.zipを解凍してください)

使い方は「chikan 置換するファイル名(拡張子付きで) 置換したファイル名」と入力して実行してください。

例)test.txtをout.txtに置換して保存する

chikan test.txt out.txt

ただし、1行が500文字を超すと変換が出来ないと思います。

Excelだけでやるならテキストファイルの内容を全て選択してコピーをしてExcelに貼り付けて

貼り付けたときに右下に出るアイコンをクリックすると「テキストウィザードを使用する」というのを選択します。

そして、「スペースまたは・・・」という下の方にチェックを付けて「次へ」を押します。

そして、文字と文字の間をクリックすると線画はいるのでそこでセルごとに数値を区切ることが出来るので必要な数の区切りを入れれば

質問者さんのやりたいことは出来ます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません