大佬们好,有一个小小的文件查重删除的问题,
问题描述:
有A B两个文件,A文件是词,大概二百多万个,B文件是很多段文字。
假如A文件中是
苹果
香蕉
梨
西瓜
·······
B文件中是:小明昨天去上学路上捡了个西瓜,阿斯也带上吧的哈不可杀生。
怎样对比两个文本,然后直接删除B文件中重复的这个词,让B文件变成:
小明昨天去上学路上捡了个,阿斯也带上吧的哈不可杀生。
希望各路大神不吝赐教。先行谢过!
小弟初学者什么都不懂呢。
大佬们好,有一个小小的文件查重删除的问题,
问题描述:
有A B两个文件,A文件是词,大概二百多万个,B文件是很多段文字。
假如A文件中是
苹果
香蕉
梨
西瓜
·······
B文件中是:小明昨天去上学路上捡了个西瓜,阿斯也带上吧的哈不可杀生。
怎样对比两个文本,然后直接删除B文件中重复的这个词,让B文件变成:
小明昨天去上学路上捡了个,阿斯也带上吧的哈不可杀生。
希望各路大神不吝赐教。先行谢过!
小弟初学者什么都不懂呢。
苹果
香蕉
梨
西瓜
小明昨天去上学路上捡了个西瓜,阿斯也带上吧的哈不可杀生。
香蕉是他最喜欢的水果。
梨的水分跟多。
夏天吃西瓜最爽了。
# 读取A文件中的内容
file_a = open('A.txt', 'r', encoding="UTF-8")
list_a = [] # 存放要删除的内容
line = file_a.readline() # 读取每一行
while line:
line = line.replace("\n", "")
list_a.append(line) # 保存每行内容
line = file_a.readline()
file_a.close()
# 读取B文件中的内容
file_b = open('B.txt', 'r', encoding="UTF-8")
list_b = [] # 存放要查重删除的内容
line = file_b.readline() # 读取每一行
while line:
i = 0
for i in range(len(list_a)):
line = line.replace(list_a[i], "") # 删除内容
list_b.append(line) # 保存改后的一行
line = file_b.readline() # 读取下一行
file_b.close()
# 修改后的内容写入B文件
file_b = open('B.txt', 'w', encoding="UTF-8")
i = 0
for i in range(len(list_b)):
file_b.writelines(list_b[i]) # 写入修改后的内容
file_b.close()
小明昨天去上学路上捡了个,阿斯也带上吧的哈不可杀生。
是他最喜欢的水果。
的水分跟多。
夏天吃最爽了。
1、我这里使用txt文件,你需要改成自己所需的文件格式。
2、我用于测试的文件较小,当文件大到一定程度,程序可能出错。
3、注意文件的编码方式,不同的编码方式可能会出错。
总之,此程序只是初步程序,仅做参考。对于你具体的要求还需看书慢慢修改。