回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两个逗号分隔的文本文件,其内容如下:</p>
<p>文件1:</p>
<blockquote>
<p>TR,23456.23,H,56789</p>
<p>TR,54678.13,F,14567</p>
<p>TR,67889.12,R,89876</p>
</blockquote>
<p>文件2:</p>
<blockquote>
<p>SG,6789.24,J,53452</p>
<p>SG,8909.25,F,56789</p>
<p>SG,5467.11,S,56783</p>
</blockquote>
<p>我想从第一个和第二个文件中提取句子,并将它们合并到一个新的文本文件中,只需一行,如下所示:</p>
<blockquote>
<p>TR,54678.13,F,14567,SG,8909.25,F,56789</p>
</blockquote>
<p>但是,在我的代码中,得到的结果是:</p>
<blockquote>
<p>TR,54678.13,F,14567</p>
<p>,SG,8909.25,F,56789</p>
</blockquote>
<p>为什么第二个文件中的句子写在第一个文件的句子下面?。我需要把这两个句子合并在同一行。有人知道为什么会这样吗?我该怎么解决这个问题?。在</p>
<p>这是我的代码:</p>
<pre><code>contfil=0
direct=os.listdir(path1)
for file in direct:
with open(os.path.join(save_path1,file),'r') as Textfile1:
for eachline1 in Textfile1:
for field in eachline1.split():
ID1=field.split(',') [2]
with open(os.path.join(save_path2,os.listdir(save_path2) [contfil]),'r') as Textfile2:
for eachline2 in Textfile2:
for field in eachline2.split():
ID2=field.split(',') [2]
if ID2==ID1:
fo=open(os.path.join(save_path3,'Matched_Lines.txt'),'a')
fo.write('%s,%s\n' %(eachline1,eachline2))
fo.close()
contfil+=1
</code></pre>