Форум сайта python.su
0
Здравствуйте форумчане!
У меня есть несколько текстовых таблиц и некоторых из них необходимо объединить по столбцам. Помогите как это реализовать.
Суть заключается в следующем:
У меня есть f1.txt
ns1 6 -3 ns2 6 -3 ns3 7 -4 ns4 8 -2 ns5 8 -3 ns6 7 -2 ns7 6 -1
ns11 67 5 ns21 67 -3 ns31 77 21 ns41 88 -2 ns51 82 -3.5 ns61 72 -2 ns71 62 -1.35
ns1 6 -3 ns11 67 5 ns2 6 -3 ns21 67 -3 ns3 7 -4 ns31 77 21 ns4 8 -2 ns41 88 -2 ns5 8 -3 ns51 82 -3.5 ns6 7 -2 ns61 72 -2 ns7 6 -1 ns71 62 -1.35
Офлайн
61
И в чем проблема?
Покажите когд и место где застряли? какую ошибку пишет?
Офлайн
0
ZerGПытался просто объединить файлы, работает (код внизу!). Но добавляет 2ой файл в конец 1го файла. А как объединить столбца незнаю. Может есть другая команда, не подскажите?
И в чем проблема? Покажите когд и место где застряли? какую ошибку пишет?
f1=open('f1.txt', 'r') f2=open('f2.txt', 'r') f1_out=[] f2_out=[] res=[] f1_out=f1.read() f2_out=f2.read() res=f1_out+f2_out print res f1.close() f2.close()
Офлайн
61
если количество и порядок строк в файлах одинаковые то просто заполните поочередно данными.
# -*- coding: utf-8 -*- l1 = [1, 2, 3] l2 = [5, 6, 7] res = [] for i in range(0, len(l1)): res.append((l1[i], l2[i])) print(res)
Отредактировано ZerG (Апрель 21, 2016 14:11:19)
Офлайн
0
ZerGВ этом случае все смешивается
если количество и порядок строк в файлах одинаковые то просто заполните поочередно данными.
Офлайн
0
l1 = [] l2 = [] with open('f1.txt') as f1: for x in f1: l1.append(x.rstrip()) with open('f2.txt') as f2: for y in f2: l2.append(y.rstrip()) for one, two in zip(l1, l2): print(one, '=>', two)
Офлайн
0
Попробовал следующем образом:
#!/usr/bin/env python # -- coding: utf-8 -- # ver.0 import os import sys #import subprocess f1=open('f1.txt', 'r') f2=open('f2.txt', 'r') res1=[] res2=[] out=[] for li1 in f1: res1.append(li1.rstrip()) #print res1.all for li2 in f2: res2.append(li2.rstrip()) #print res2.all out=map(None,res1, res2) print out f1.close() f2.close() fw=open('test_c1.txt', 'w') fw.write(out) fw.close()
Офлайн
0
prgВаш метод тоже использовал. Работает, спасибо.
Офлайн
0
l1 = [] l2 = [] with open('f1.txt') as f1: for x in f1: l1.append(x.rstrip()) with open('f2.txt') as f2: for y in f2: l2.append(y) with open('test_c1.txt', 'w') as fw: for one, two in zip(l1, l2): fw.write('{} {}'.format(one, two))
Отредактировано prg (Апрель 21, 2016 16:58:20)
Офлайн
0
prgОгромное спасибо! Заработало!
Офлайн