Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 18, 2010 14:04:03

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

def f_read():
date_from_name = set()
for i in len(self.name_vuzov): #len(self.name_vuzov) количество файлов
for filename in self.name_vuzov[0:]: #self.name_vuzov[0:] спискок файлов
for line in open(filename): #открываем файлы
for word in line.lower().split(): #приводим данные в читаемый вид
dannii = i,word
date_from_name.add(dannii) #Добавлем данные в date_from_name = set()
Как мне добавить данные из файлов в “date_from_name” по столбцам в таком виде ?
('Данные из file1','Данные из file2','Данные из file3'
‘Данные из file1’,'Данные из file2','Данные из file3'
‘Данные из file1’,'Данные из file2','Данные из file3') и т.д.



Офлайн

#2 Окт. 18, 2010 16:22:40

shupg
От:
Зарегистрирован: 2009-08-07
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

не понятно почему используется set(). ИМХО, он тут не при чем или я чего-то не понимаю.. Что ты понимаешь под столбцом?



Офлайн

#3 Окт. 18, 2010 16:29:21

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

shupg
не понятно почему используется set(). ИМХО, он тут не при чем или я чего-то не понимаю.. Что ты понимаешь под столбцом?
Множество set() я использую по тому что туда проще всего загнать любой тип данный а дальше уже делать выборку. Но у меня не получается правильно распаковать файлы.
По столбцам для дальнейшей сортировки.
Сорри если не понятно объясняю .

Смысл вот в чем когда данные как то попали в ‘date_from_name’
>>print date_from_name
>>('Данные из file1','Данные из file2','Данные из file3'
'Данные из file1','Данные из file2','Данные из file3'
'Данные из file1','Данные из file2','Данные из file3')
#=================
def by_value(item): # функция сортировки
return item[2]


for keys in sorted(date_from_name, key=by_value): #распаковка date_from_name
test=('{0}:{1}:{2}').format(keys[0],keys[1], keys[2]) #получение срезом столбцов из date_from_name
print (test)
#--------вывод данных----
>>Данные из file1:Данные из file2:Данные из file3
Данные из file1:Данные из file2:Данные из file3
Данные из file1:Данные из file2:Данные из file3
Вся проблема в том что я не могу загнать данные из нескольких файлов в столбцы



Отредактировано (Окт. 18, 2010 16:37:40)

Офлайн

#4 Окт. 18, 2010 17:14:36

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

приведи примеры входного и выходного файлов

Офлайн

#5 Окт. 18, 2010 17:50:20

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

o7412369815963
приведи примеры входного и выходного файлов
в файлах все в строку
sroka_1
stroka_2
stroka_3
и. т.д



Офлайн

#6 Окт. 18, 2010 21:06:07

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

Да уж, объясняете вы сумбурно.

На выходе ожидаете это?:
stroka1_iz_faila1:stroka1_iz_faila2:stroka1_iz_faila3
stroka2_iz_faila1:stroka2_iz_faila2:stroka2_iz_faila3
stroka3_iz_faila1:stroka3_iz_faila2:stroka3_iz_faila3

Или в строках по три слова и нужно как-нибудь так?:
stroka1_iz_faila1_slovo1:stroka1_iz_faila2_slovo1:stroka1_iz_faila3_slovo1
….



Офлайн

#7 Окт. 18, 2010 21:24:39

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

Ed
Да уж, объясняете вы сумбурно.

На выходе ожидаете это?:
stroka1_iz_faila1:stroka1_iz_faila2:stroka1_iz_faila3
stroka2_iz_faila1:stroka2_iz_faila2:stroka2_iz_faila3
stroka3_iz_faila1:stroka3_iz_faila2:stroka3_iz_faila3

Или в строках по три слова и нужно как-нибудь так?:
stroka1_iz_faila1_slovo1:stroka1_iz_faila2_slovo1:stroka1_iz_faila3_slovo1
….
stroka1_iz_faila1:stroka1_iz_faila2:stroka1_iz_faila3

Сорри за сумбурность :)



Офлайн

#8 Окт. 18, 2010 22:48:39

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

Тогда как-нибудь так:

name_vuzov = ['1.txt', '2.txt', '3.txt']
date_from_name = []
for filename in name_vuzov:
i = 1
for line in open(filename):
if len(date_from_name) < i:
date_from_name.append([])
date_from_name[i-1].append(line.strip())
i += 1



Офлайн

#9 Окт. 19, 2010 01:12:10

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

Ed
Тогда как-нибудь так:
name_vuzov = ['1.txt', '2.txt', '3.txt']
date_from_name = []
for filename in name_vuzov:
i = 1
for line in open(filename):
if len(date_from_name) < i:
date_from_name.append([])
date_from_name[i-1].append(line.strip())
i += 1
Огромное спасибо. целый день над этим бился



Офлайн

#10 Окт. 19, 2010 06:11:18

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Данные из файлов в set ?

можно в одну строку:

zip(*((l.strip() for l in open(f, "rb")) for f in name_vuzov))
выглядит достаточно читабельно



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version