Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 13, 2017 14:38:48

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

Поиск в тексте, запись в другой файл

Доброго времени суток!
Подскажите как на python3 сделать скрипт задача которого в следующем:
Есть xls файл, который состоит из трёх колонок. Во второй колонке содержатся числа, которые идут от 1 до N, затем снова от 1 до M и т.д., и повторяется это количество раз n, пока не закончатся все строки в файле.
Создаем первый файл для записи, в который записываем все три колонки, где вторая колонка содержит от 1 до N, далее создаем второй файл для записи, в который записываем все три колонки, где вторая колонка содержит от 1 до M, и т.д. Создаем количество файлов для записи равное n.

Текущий файл:
t j No
1 1 3
2 2 7
3 3 9
4 4 12
5 5 11
6 6 9
7 7 4
8 8 9
9 9 10
10 10 10
11 11 7
12 12 7
13 13 4
14 14 12
15 15 5
16 16 8
17 1 0
18 2 0
19 3 0
20 4 0
21 1 0
22 2 0
23 3 0

Должно выглядеть так в отдельных файлах:
В первый файл записывается:
t j No
1 1 3
2 2 7
3 3 9
4 4 12
5 5 11
6 6 9
7 7 4
8 8 9
9 9 10
10 10 10
11 11 7
12 12 7
13 13 4
14 14 12
15 15 5
16 16 8

Во второй файл записывается:
t j No
17 1 0
18 2 0
19 3 0
20 4 0

В третий файл записывается:
t j No
21 1 0
22 2 0
23 3 0

Надеюсь, что максимально подробно объяснила.
Заранее всем спасибо!

Офлайн

#2 Сен. 13, 2017 15:15:32

Vintets
Зарегистрирован: 2016-07-05
Сообщения: 41
Репутация: +  6  -
Профиль   Отправить e-mail  

Поиск в тексте, запись в другой файл

Перебираешь в цикле все строки.
Проверяешь 2 колонку. Если она равна 1 - создаёшь и пишешь в новый файл.
Если нет, пишешь в в последний открытый.

Отредактировано Vintets (Сен. 13, 2017 15:16:03)

Офлайн

#3 Сен. 13, 2017 21:32:05

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Поиск в тексте, запись в другой файл

Можно делать почти буквально если использовать numpy.
Сначала ручками из exel выгружаете данные в текстовый файл в формате который вы использовали на форуме.

 import numpy as np 
data = np.loadtxt("a.txt") # чтение файла
pos = (np.diff(data[:,1])<0).nonzero()[0] # определение позиций где резать
for i,d in  enumerate(np.split(data, pos, axis =0)): # разрезание и запись
    np.savetxt(str(i),d)



Отредактировано doza_and (Сен. 13, 2017 21:32:46)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version