このページではPythonを使って、フルパスで指定した2つのテキストファイルの中身が一致しているか確認する方法をご紹介していきます。
ただ一致しているか確認するだけではなく、一致していない箇所がどこなのかも教えてくれるようになっています。
あなたのやりたいことと一致していればぜひ続きをご覧ください。
必要なライブラリ
今回はpandasを使用します。
⇒pandasのread_csvというスキルを使ってテキストファイルを読み込んでいきます。
インストールしていない場合は、まずはインストール作業から始めましょう。
使用するサンプルテキストファイル
今回は以下の画像のようなテキストファイルを使用します。
今回は4行しかありませんが、基本的には何行あっても対応可能です。
このテキストファイルをもう一つ用意し、完全一致している場合、一致していない行を含んでいる場合に分けて実践してみましょう。
2つのテキストファイルが一致しているか確認する方法
それでは本題である、2つのテキストファイルの中身が一致しているか確認するサンプルコードをご紹介します。
import pandas as pd
txt1='C:/Users/Desktop/study_python/test108/folder1/sample1.txt'
txt2='C:/Users/Desktop/study_python/test108/folder2/sample2.txt'
txt1=pd.read_csv(txt1, header=None)
txt2=pd.read_csv(txt2, header=None)
counter=0
for i in range(len(txt1)):
if txt1[0][i] != txt2[0][i]:
print('row'+str(i)+' Not equal')
print('txt1 '+txt1[0][i])
print('txt2 '+txt2[0][i])
counter+=1
if counter==0:
print('Equal')
基本的には、2,3行目に一致しているか確認したい2つのテキストファイルのフルパスを指定してあげるだけでOKです。
これで一致している場合はEqualというメッセージが表示され、一致していない場合は、一致していない箇所がどうなっているのかを教えてくれるようになっています。
サンプルコードの実行結果の確認
それでは先ほどのサンプルコードを実行してみましょう。
まずは以下の2つのファイルに対して実行してみます。
(両者は完全に一致していることがわかると思います。)
それではこれらのフルパスを先ほどのコードに指定して実行してみましょう。
以下が出力されました。
問題なさそうですね。
次は以下の2つで実行してみます。
3行目が一致していませんね。
それでは実行してみましょう。
以下が出力されました。
2行目が一致していないと言っていますね。
(Pythonでは1行目を0として扱いますので、ご注意ください。)
そしてそれぞれのテキストの不一致内容も教えてくれていますね。
こちらも問題なく実行できました。
おわりに
というわけで今回はpythonを使って、2つのテキストファイルの内容が一致しているかを確認する方法をご紹介しました。
今回は1列にデータが入っているパターンを取り扱いましたが、複数列ある場合は少しコードを修正する必要があります。
もしわからなければコメント欄からご質問ください。
このように、私のブログでは様々なスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村
それではまた!
Follow @HigashiSalary
コメント