2024-06-02 09:09:40 发布
网友
谁能告诉我如何在Python中执行以下合并。。。你知道吗
文本文件#1:
5 apple 1 banana 3 pear 4 kiwi
(再加上几千个条目)
我的文本文件#2看起来像
apple orange strawberry banana
我想合并这两个文本文件,这样我就只添加了两个文本文件中的那些文件,但同时也保留了文本文件#1链接到相应标识符的原始编号。在本例中,我的合并如下所示:
5 apple 1 banana
我很抱歉没有提供关于我之前尝试的信息(我不是想免费索取代码,只是卡住了,需要一些指导)。你知道吗
基本上,我有一个txt文件与700000字的段落形式,我想数的话,并交叉引用到另一个文件,这是在列表形式。我走了这么远
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`
此时,我准备使用LibreOffice Base使用2个表进行比较,但即使使用count函数,将字数从700k减少到34k,只要我尝试上载,输入数据就会使程序崩溃。所以我不得不试着去想一个代码,它可以让我比较python中的两个txt文件,它可以很好地处理这些数据量。我真的不知道从哪里开始,虽然我知道一些合并函数,但我只是不知道如何定义合并。最后我做了这个
new_fh12 = new_fh11.split() new_fh12.sort() for x in sorted(new_fh12): print x
然后我把这个列表放到excel的一列中,把第二个列表添加到另一列中,然后使用countif函数对两个列表进行计数和比较。你知道吗
以下是一种可能的方法:
编辑:考虑评论
我会先把你的文本文件#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。这是一个解决办法,必须有一个更直接的方法。你知道吗
我很抱歉没有提供关于我之前尝试的信息(我不是想免费索取代码,只是卡住了,需要一些指导)。你知道吗
基本上,我有一个txt文件与700000字的段落形式,我想数的话,并交叉引用到另一个文件,这是在列表形式。我走了这么远
此时,我准备使用LibreOffice Base使用2个表进行比较,但即使使用count函数,将字数从700k减少到34k,只要我尝试上载,输入数据就会使程序崩溃。所以我不得不试着去想一个代码,它可以让我比较python中的两个txt文件,它可以很好地处理这些数据量。我真的不知道从哪里开始,虽然我知道一些合并函数,但我只是不知道如何定义合并。最后我做了这个
然后我把这个列表放到excel的一列中,把第二个列表添加到另一列中,然后使用countif函数对两个列表进行计数和比较。你知道吗
以下是一种可能的方法:
编辑:考虑评论
我会先把你的文本文件#1读入Python字典
现在,我们将文件2作为Python列表读取
现在,创建另一个具有所需输出的字典:
我将由你来决定如何把字典写成一个文本文件。我将使用pandas将其转换为数据帧,并将数据帧编写为csv或tsv。这是一个解决办法,必须有一个更直接的方法。你知道吗
相关问题 更多 >
编程相关推荐