Python 如何比较和合并具有不同列号的文本文件?

Python 如何比较和合并具有不同列号的文本文件?,python,merge,Python,Merge,谁能告诉我如何在Python中执行以下合并 文本文件1: 5个苹果 1根香蕉 3梨 4猕猴桃 再加上几千条 我的文本文件2看起来像 苹果 橙色 草莓 香蕉 我想合并这两个文本文件,这样我就可以只添加这两个文件中的文本文件,而且还可以将文本文件1链接中的原始数字保留到相应的标识符中。在本例中,我的合并如下所示: 5个苹果 1根香蕉 以下是一种可能的方法: 编辑:考虑评论 我首先将您的文本文件1读入Python字典 d = dict() with open("file1.txt") as f:

谁能告诉我如何在Python中执行以下合并

文本文件1:

5个苹果 1根香蕉 3梨 4猕猴桃 再加上几千条

我的文本文件2看起来像

苹果 橙色 草莓 香蕉 我想合并这两个文本文件,这样我就可以只添加这两个文件中的文本文件,而且还可以将文本文件1链接中的原始数字保留到相应的标识符中。在本例中,我的合并如下所示:

5个苹果 1根香蕉
以下是一种可能的方法:

编辑:考虑评论

我首先将您的文本文件1读入Python字典

d = dict()
with open("file1.txt") as f:
    for line in f:
       (val, key) = line.split()
       d[key] = int(val)

print d

Out: {'kiwi': 4, 1: 'banana', 3: 'pear', 4: 'kiwi', 5: 'apple', 'pear': 3, 'banana': 1, 'apple': 5}
现在,我们将文件2作为Python列表读取

with open("file2.txt") as f:
    l = f.read().splitlines()

print l
Out: ['apple', 'orange', 'strawberry', 'banana']
现在,创建另一个具有所需输出的字典:

d2 = {key:val for key,val in d.iteritems() if key in l}
print d2
Out: {'apple': 5, 'banana': 1}

我将把如何将字典写入文本文件的问题留给你来解决。我将使用pandas将其转换为数据帧,并将数据帧写入csv或tsv。这是一个解决办法,必须有一个更直接的方法来做。

我很抱歉没有提供我之前尝试的信息。我不是想免费索取代码,只是遇到了问题,需要一些指导

基本上,我有一个包含700000个单词的段落格式的txt文档,我想数一数这些单词,并将其交叉引用到另一个列表格式的文档中。我走了这么远

fname = raw_input("Enter file name: ")
fh = open(fname)
inp = fh.read().upper()
new_fh2 = inp.replace('.','').replace(',','').replace('?','')
new_fh3 = new_fh2.replace('-','').replace('_','').replace(';','')
new_fh4 = new_fh3.replace(':','').replace('!','').replace('(','')
new_fh5 = new_fh4.replace(')','').replace('/','')
new_fh6 = new_fh5.replace('|','').replace('&','').replace('[','')
new_fh7 = new_fh6.replace(']','').replace('%','').replace('+','')
new_fh8 = new_fh7.replace('*','').replace('@','').replace('=','')
new_fh9 = new_fh8.replace('>','').replace('<','')
new_fh10 = new_fh9.replace('{','').replace('}','').replace('~','')
new_fh11 = new_fh10.replace('"','').split()
new_fh12 = sorted(set(new_fh11)) 
for word in new_fh12:
    print new_fh11.count(word), word`

然后,我把这个列表放在excel的一列中,将第二个列表添加到另一列中,然后使用countif函数对两个列表进行计数和比较。

欢迎使用SO!我们鼓励您使用本网站,您可以在这里了解本网站的用途。它的目的不是要求某人免费编写代码。您是否尝试过在Python中读取文件并将其表示为可以对其执行列表操作的列表?如果是这样的话,你会得到更多的帮助,如果你张贴你已经做了。祝你好运。试试这个和这个正确的想法,糟糕的执行力。d应该将水果作为键,而不是值。此外,l2是未定义的。
new_fh12 = new_fh11.split()
new_fh12.sort()
for x in sorted(new_fh12):
    print x