Найти - Пользователи
Полная версия: Поиск в тексте, запись в другой файл
Начало » Python для новичков » Поиск в тексте, запись в другой файл
1
whoami217
Доброго времени суток!
Подскажите как на 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

Надеюсь, что максимально подробно объяснила.
Заранее всем спасибо!
Vintets
Перебираешь в цикле все строки.
Проверяешь 2 колонку. Если она равна 1 - создаёшь и пишешь в новый файл.
Если нет, пишешь в в последний открытый.
doza_and
Можно делать почти буквально если использовать 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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB