Python 将文本文件彼此相邻(并排)连接起来
我有以下用于连接一系列文本文件的代码。 但是我想把文件中的数据放在前几行的旁边而不是下面,我该怎么做呢Python 将文本文件彼此相邻(并排)连接起来,python,text,concatenation,Python,Text,Concatenation,我有以下用于连接一系列文本文件的代码。 但是我想把文件中的数据放在前几行的旁边而不是下面,我该怎么做呢 for dir in list(subdirs): splitdir = dir.split('/') # YOU WILL NEED TO EDIT THIS TO GRAB sub001 splitdir_sub = splitdir[5] subnum=splitdir_sub[-4:] # YOU WILL ALSO NEED TO EDIT THIS TO GR
for dir in list(subdirs):
splitdir = dir.split('/')
# YOU WILL NEED TO EDIT THIS TO GRAB sub001
splitdir_sub = splitdir[5]
subnum=splitdir_sub[-4:]
# YOU WILL ALSO NEED TO EDIT THIS TO GRAB THE PART WITH THE RUNNUM
splitdir_run = splitdir[8]
runnum=splitdir_run[-1:]
print("marging subject %s Run %s"%(subnum, runnum))
filenames = ['/home/navotn/Exp5/participants/%s/preprocessed/1lev/block%sn.feat/white_matter.txt'%(subnum, runnum), '/home/navotn/Exp5/participants/%s/preprocessed/PPFSL/block%s/motion_assess/confound.txt'%(subnum, runnum)]
with open("%s/%s/preprocessed/PPFSL/block%s/motion_assess/confoundWM.txt"%(fsfdir, subnum, runnum), 'w') as outfile:
for fname in filenames:
with open(fname) as infile:
for line in infile:
outfile.write(line)
如果输入文件具有相同的行数,此代码可能会提供所需的内容
import os
fileNames = os.listdir('concatenate')
os.chdir('concatenate')
previous = fileNames[0]
for fileName in os.listdir('.')[1:]:
with open(previous) as oldConcatenate, open(fileName) as nextFile, open('new.txt', 'w') as newConcatenate:
while True:
oldLine = oldConcatenate.readline().strip()
if not oldLine:
break
nextLine = nextFile.readline().strip()
newConcatenate.write(oldLine + nextLine + '\n')
if previous != fileNames[0]:
os.remove('concatenated.txt')
os.rename('new.txt', 'concatenated.txt')
previous = 'concatenated.txt'
代码将第二个文件连接到第一个文件,并将其保留为文件“concatenated.txt”,然后将第三个文件添加到此文件,并再次将此文件保留为“concatenated.txt”,依此类推 您的文件是否以空的新行结尾?因为这可能就是原因。@Navot Naor尝试使用文件附加'a'而不是文件写入'w'