在两个文件中查找唯一的句子

拉吉

我有两个文件,我试图在两个文件之间打印唯一的句子。为此,我在python中使用difflib。

text ='Physics is one of the oldest academic disciplines. Perhaps the oldest through its inclusion of astronomy. Over the last two millennia. Physics was a part of natural philosophy along with chemistry.'
text1 ='Physics is one of the oldest academic disciplines. Physics was a part of natural philosophy along with chemistry. Quantum chemistry is a branch of chemistry.'
import difflib

differ = difflib.Differ()
diff = differ.compare(text,text1)
print '\n'.join(diff)

它没有给我想要的输出。它给我这样的。

  P
  h
  y
  s
  i
  c
  s

  i
  s

  o
  n
  e

  o
  f

  t
  h
  e

我想要的输出只是两个文件之间唯一的句子。

文字=也许是最古老的,因为它包含了天文学。在过去的两千年中。

text1 =量子化学是化学的一个分支。

也似乎difflib.Differ逐行而不是句子。请提出任何建议。我该怎么做?

迪兹

实际上,首先,Differ()。compare()比较行而不是句子。

其次,它实际上比较序列,例如字符串列表。但是,您传递两个字符串,而不是两个字符串列表。由于字符串也是(字符)序列,因此您的情况下Differ()。compare()会比较各个字符。

如果要按句子比较文件,则必须准备两个句子列表。您可以使用nltk.sent_tokenize(text)将字符串拆分为句子。

diff = differ.compare(nltk.sent_tokenize(text),nltk.sent_tokenize(text1))
print('\n'.join(diff))
#  Physics is one of the oldest academic disciplines.
#- Perhaps the oldest through its inclusion of astronomy.
#- Over the last two millennia.
#  Physics was a part of natural philosophy along with chemistry.
#+ Quantum chemistry is a branch of chemistry.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何自动比较两个句子并替换一个句子中出现但另一个句子中没有的值?

Unix命令在两个文件中查找通用行

从两个数组中查找唯一项

在R中,查找两个文件是否不同

python3在两个文件之间映射唯一值,并合并两个文件中的唯一行

从两个变量中识别唯一ID

查找两个文件之间的唯一行

查找两个值之间的唯一数据

在唯一ID为AND的两个表之间查找,并且日期在其他两个日期之间

查找出现在两个不同列表中的唯一编号

两个CSV文件之间的日期之间的差异基于熊猫中的唯一编号

在一个资源中查找两个列表

比较Excel中的两个列表并查找唯一性和重复性

如何在两个目录中查找/列出所有唯一文件?

在两个目录之间查找唯一文件(递归)

如何确定其他两个相同清单中的唯一附加文件?

合并Linux中的两个目录以获取所有唯一文件

在两个文件中查找线的交点

对于文件中每个可能的两个唯一单词对,打印出该对出现的次数

查找两个句子之间匹配的第一个单词

在目录中查找具有两个关键字之一的文件

两个文件中的唯一值

获取两个文本文件中的唯一行

比较两个文本文件并在java中显示唯一的单词

Unix shell - 通过比较两个文件来查找唯一的列

在文档中查找唯一的句子

从两个不同的数据框中查找唯一的列值

在两个对象数组列表中查找唯一字符串

如何使用isset()和foreach在两个不同的数组中查找唯一值