照合処理


ゴマフアザラシ  2004-09-26 13:33:45  No: 85755

御世話になります。

2つのテキストファイルがあります。
テキストファイルの項目は、
氏名、フリガナ、住所、電話番号がはいっています。
項目の区切り文字は、★です。

2つのテキストファイルのデータが相違している項目数を求めて表示するには
どのような処理をいれたらいいでしょうか?

初心的な質問で申し訳御座いませんがよろしくお願い致します。


Say  2004-09-26 18:42:42  No: 85756

>項目の区切り文字は、★です。
csv(Comma Separated Value)のほうが一般的ですから、
できればデリミタをカンマにしたほうがいろいろ便利ですが・・・。

行数、列数、行並びが固定なら、両ファイルを開いて、1行ずつ読んで、
★でSplitして各要素を比較してカウントしていけばいいでしょう。

行並びが不定なら、一方のキー項目でもう一方を廻して探す処理が必要になります。

その場合、自前でファイル処理するよりDBで処理したほうが楽でしょう。
Excelが得意なら、WorkSheetに取り込んで処理させるという手もあります。


ゴマフアザラシ  2004-09-26 22:37:39  No: 85757

Sayさんご返答ありがとうございます。

参考に致しますね。
話は変わりますが、上記の処理を行うためのサンプルソース等はないでしょうか?
色々調べてはいるのですが、わからない状態でして・・・。
大変申し訳ありませんがよろしくお願い致します。


Say  2004-09-27 07:22:11  No: 85758

調べるのでなく、考えてください。
書いてあるとおりにコードを組むだけです。


ひろ  2004-09-27 20:42:31  No: 85759

既存のファイル比較ツールではだめですか?
fc とか diff とか Windiff とか?


KG  2004-09-28 08:00:14  No: 85760

似たような処理をVBでやっております。

行並び不定の二つのCSVファイルを、各々配列に格納し、
同様のソート処理をかけてから、シーケンシャルマッチングで
同データの行と思われるところをキーで結びつけ、その後に比較しています。

ファイルは10万〜30万行ぐらいのものを行っております。

大量データで間違いの箇所が多いならコーディングも必要でしょうけど、
有るか、無いかぐらいなら、ひろさんのおっしゃる通り、既存のものでも
良いかもしれません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加