python比對文件
這里假設題目裡面提到的」單獨兩個JSON文件的比較方法「的函數是compare_two_files,它接受兩個文件的文件名作為參數。
from pathlib import Path
def compare_two_folders(from_folder, to_folder):
from_folder = Path(from_folder)
to_folder = Path(to_folder)
for json_file in from_folder.glob('*.json'):
json_file_name = json_file.name
json_file_to_compare = to_folder / f'a{json_file_name}'
compare_tow_files(json_file, json_file_to_compare)
❷ Python比較兩個文件是否相同,倒數第二行不太明白
答: 確實是有道理的,在文件當中的第7行,實現的功能就是從第1個文件中取一個字元,而第8行是在第2個文件中取一行字元,那麼一個字元和一行字元比較肯定是不相等的呢,所以我覺得第7行那個for循環改一下,改成每次取一行,然後一行和一行比較當比較,結果不同時記錄下它的行號,得到最後的結果。
希望可以幫助到你!
❸ python如何把txt文件進行對比提取唯一數據
我寫了個簡單的實現方式,稍微修改就能用了,你可以看看:
代碼:
a = [1, 2, 3] # 讀取的 a.txt
b = [1, 2, 3, 4] # 讀取的 b.txt
c = []
for t in b:
if t in a:
pass
else:
c.append(t) # 寫入c.txt
print(c)
❹ python中怎麼快速比較2個文件中的內容
可以用 difflib庫,下面給一個例子,具體需求自己研究
假如在同一個目錄下有a.txt, b.txt 兩個文本文件
a.txt 內容是
aaa
bbb
b.txt內容是
aaa
ccc
importdifflib
a=open('a.txt','U').readlines()
b=open('b.txt','U').readlines()
diff=difflib.ndiff(a,b)
sys.stdout.writelines(diff)
結果是:
aaa
- bbb+ ccc
❺ python3 文件對比程序運行了兩個為什麼會報這個錯
編碼格式不對,你這個程序默認是「gbk」解碼的,傳進去的2個txt文件不是gbk
❻ python如何將兩個文件價中所有同名excel秋褲對比
使用xlrd和xlwt包,首先安裝這兩個包。定義contrast函數,測試contrast函數,把程序打包成exe文件。導入tkinter包,寫個函數用來選擇路徑,初始化變數,畫出UI界面,點擊對比按鈕後的函數。
接下來就是把這個py程序打包,使用pyinstaller這個包pipinstallpyinstaller。安裝成功之後,按鍵盤win+R打開運行,輸入cmd,回車運行。進入程序所在文件夾。
因為有統計成員到會情況的任務,每次匯總時都很麻煩,需要一個個對應騰訊會議導出名單的成員,然後在總表上進行標記,所以就寫了本程序來減少統計的復雜度。
❼ python內兩個CSV文件數據比較。。。求大神解答!!
t=open('gzb.csv').readlines()
d=[[int(x)forxiny.split(',')]foryint[1:]]
t1=open('gzb1.csv').readlines()[1:]
d1=[[int(x)forxiny.split(',')[:-1]]foryint1]
o=[t1[i][-2]ifd1[i][1]-1<=d[i][1]<=d1[i][1]+1andd1[i][2]-1<=d[i][2]<=d1[i][2]+1else''foriinrange(len(t1))]
open('out.csv','w').writelines([t[0]]+[t[i+1].strip()+o[i]+' 'foriinrange(len(t)-1)])
我想問題中應該是閉區間,你給的是開區間,我按閉區間寫
❽ python讀取兩個文件並且判斷是否一致
'''判斷兩個文件是否相同,如果不同請指出第幾行不相同'''def f1vsf2(name1,name2):
f1 = open(name1)
f2 = open(name2)
count = 1
msg=[] for line1 in f1:
line2 = f2.readline() if(line1!=line2):
msg.append("第%d行不一樣"%count)
count+=1
f1.close()
f2.close() return msg
isbool = Truewhile isbool:
fname1 = input("請輸入要比較的文件1路徑及文件名:") if fname1 =='': print("文件名不能請重新輸入") break;
fname2 = input("請輸入要比較的文件2路徑及文件名:") if fname2 =='': print("文件名不能請重新輸入") break;
result = f1vsf2(fname1,fname2) if len(result)==0: print("兩個文件完全一致") else: print("兩個文件共有【%d】行不同"%len(result)) for msg in result: print(msg)
isbool = False