gpt4 book ai didi

python - 仅在一行中合并来自两个不同文本文件的数据 (Python)

转载 作者:行者123 更新时间:2023-11-28 17:42:43 24 4
gpt4 key购买 nike

我有两个逗号分隔的文本文件,内容如下:

文件1:

TR,23456.23,H,56789

TR,54678.13,F,14567

TR,67889.12,R,89876

文件2:

SG,6789.24,J,53452

SG,8909.25,F,56789

SG,5467.11,S,56783

我想从第一个和第二个文件中提取句子,并将它们组合到一个新的文本文件中,只需一行,如下所示:

TR,54678.13,F,14567,SG,8909.25,F,56789

但是,在我的代码中,得到的结果是这样的:

TR,54678.13,F,14567

,SG,8909.25,F,56789

为什么第二个文件的句子写在第一个文件的句子下面?我需要将两个句子组合在同一行上。有谁知道为什么会这样,我该如何解决这个问题?

这是我的代码:

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

最佳答案

您需要做的就是剥离每一行。更改此行:

fo.write('%s,%s\n' %(eachline1,eachline2))

为此:

fo.write('%s,%s\n' %(eachline1.strip(),eachline2.strip()))

实际情况是您读入的每一行末尾都有一个换行符 (\n)。当您将它们打印出来时,将输出该换行符。 strip 在输出之前移除换行符。

关于python - 仅在一行中合并来自两个不同文本文件的数据 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22177709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com