Вы можете создать 3 столбца за один проход, поэтому не нужно ничего «добавлять». Это как:
bos = list(mol.graph.edges)
s = list(mol.graph.orders)
f = open(file.replace('xyz', 'txt'), 'a')
for i in range(len(bos)):
i, j = bos[i]
print(i, j, s[i], file = f)
Если вы хотите добавить еще один столбец к созданному выше файлу, вам нужно прочитать строки из файла, добавить текст к каждой строке и записать их обратно в файл. .
myNewData = [1, 2, 999, 444] #new data to append to an existing file
f = open(file.replace('xyz', 'txt'), 'r+') #open an existing file
allLines = f.read().split("\n") #read all lines from the file
f.seek(0) #rewind the file pointer to start writing from the first line
for i in range(min(len(allLines), len(myNewData))):
print(allLines[i], myNewData[i], file = f) #append new data to each line
f.close() #done