Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 05.09.2017
Сообщений: 6
1

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

12.09.2017, 16:55. Показов 1384. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Подскажите как на 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

Надеюсь, что максимально подробно объяснила.
Заранее всем спасибо!
text.xls
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2017, 16:55
Ответы с готовыми решениями:

Поиск чисел в тексте из файла и запись в файл
есть ли у кого такая программа?у самой есть только поиск чисел в строке,а как сделать чтоб читало...

Поиск в тексте и запись
Здравствуйте, не могу понять как и через чего можно реализовать такую штуку. Например у меня...

Разработать библиотеку функций для работы с файлами (чтение, запись, создание нового файла, открытие файла FILE
разработать библиотеку функций для работы с файлами (чтение, запись, создание нового файла,...

Открытие файла и запись в StringGrid
Помогите пожалуйста. Как записать файл с расширением *.csv(одно из расширений MS Excel) в...

Открытие и запись файла в Java
Как известно, с помощью класса FIleOutputStream и метода write мы можем записывать данные в файл....

4
Эксперт по компьютерным сетям
 Аватар для Jabbson
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
13.09.2017, 20:25 2
С какой часть у Вас именно проблемы - чтение XLS, логика выборки или с записью файлов?
0
0 / 0 / 1
Регистрация: 05.09.2017
Сообщений: 6
14.09.2017, 11:11  [ТС] 3
Jabbson, проблема с логикой выборки и остановки.
Могу скинуть код, который толком не работает.

Добавлено через 41 минуту
Jabbson,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
with open('raspak.xls') as f:
    lines = f.readlines()
    
name = 1
name = str(name)
f_out = 'step_' + name + '.xls'
f = open(f_out, 'w')
name = int(name)
name = name + 1
 
title = [ i.strip() for i in lines[0].split('\t') ]
print(title)
indexes = []
for i in title:
    indexes.append(title.index(i))
print(indexes)
    
for line in lines[:2]:
    l = [i.strip() for i in line.split('\t')]
 
    tmp = []
    for i in l:
        tmp.append(i)
    print(tmp)
    output_data = '\t'.join(tmp)   
    f.write(output_data + '\n')
     
 
for line in lines[2:]:
    l = [ i.strip() for i in line.split('\t') ]
    #print(l)
         
    tmp1 =[]
    if l[1] != '1':
        for i in indexes:
            tmp1.append(l[i])
        print(tmp1)
    else:
        break
    f.write('\t'.join(tmp1) + '\n')
f.close()
записывает в первый файл.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
with open('raspak.xls') as f:
    lines = f.readlines()
    d = len(lines)
    print(d)
  
name = 1    
while True:
    name = str(name)
    f_out = 'step_' + name + '.xls'
    f = open(f_out, 'w')
    name = int(name)
    name = name + 1
 
    title = [ i.strip() for i in lines[0].split('\t') ]
    print(title)
    indexes = []
    for i in title:
        indexes.append(title.index(i))
        print(indexes)
    
    for line in lines[:2]:
        l = [i.strip() for i in line.split('\t')]
 
        tmp = []
        for i in l:
            tmp.append(i)
        print(tmp)
        output_data = '\t'.join(tmp)   
        f.write(output_data + '\n')
     
 
    for line in lines[2:]:
         l = [ i.strip() for i in line.split('\t') ]
         print(l)
         
         tmp1 =[]
         if l[1] == '1':
             continue
         else:
             for i in indexes:
                 tmp1.append(l[i])
         #print(tmp1)
     #else:
         #break
         f.write('\t'.join(tmp1) + '\n')
    if not lines:
        break
    
f.close()
это то, что не работает.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
15.09.2017, 23:14 4
извиняюсь, очень насыщенные дни на работе, не могу отвечать часто.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from itertools import groupby
from xlrd import open_workbook
 
wb = open_workbook('text.xlsx')
ws = wb.sheet_by_index(0)
 
row_gen = ws.get_rows()
header = next(row_gen)
 
for k, g in groupby(enumerate(row_gen), key=lambda args: args[0]-args[1][1].value):
    print(header)
    for x in [x[1] for x in g]:
        print(x)
    print()

вывод

Код
./projects.py

[text:'t', text:'j', text:'No']
[number:1.0, number:1.0, number:3.0]
[number:2.0, number:2.0, number:7.0]
[number:3.0, number:3.0, number:9.0]
[number:4.0, number:4.0, number:12.0]
[number:5.0, number:5.0, number:11.0]
[number:6.0, number:6.0, number:9.0]
[number:7.0, number:7.0, number:4.0]
[number:8.0, number:8.0, number:9.0]
[number:9.0, number:9.0, number:10.0]
[number:10.0, number:10.0, number:10.0]
[number:11.0, number:11.0, number:7.0]
[number:12.0, number:12.0, number:7.0]
[number:13.0, number:13.0, number:4.0]
[number:14.0, number:14.0, number:12.0]
[number:15.0, number:15.0, number:5.0]
[number:16.0, number:16.0, number:8.0]

[text:'t', text:'j', text:'No']
[number:17.0, number:1.0, number:0.0]
[number:18.0, number:2.0, number:0.0]
[number:19.0, number:3.0, number:0.0]
[number:20.0, number:4.0, number:0.0]

[text:'t', text:'j', text:'No']
[number:21.0, number:1.0, number:0.0]
[number:22.0, number:2.0, number:0.0]
[number:23.0, number:3.0, number:0.0]
0
0 / 0 / 1
Регистрация: 05.09.2017
Сообщений: 6
16.09.2017, 12:30  [ТС] 5
Jabbson, благодарю за ответ. Но я как начинающий не все методы и моменты понятны в Вашем коде.
0
16.09.2017, 12:30
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2017, 12:30
Помогаю со студенческими работами здесь

Открытие и запись текстового файла
Помогите разобраться. Открываю файл, который состоит из строк, мне нужно из каждой строки взять...

Открытие и запись bmp-файла
Здравствуйте уважаемые участники форума. Прошу помощи, т.к. не могу найти ошибку в программе....

Открытие/Запись текстового файла
есть 2 ф-ции(чтения и записи), которые срабатывают при нажатии кнопок на форме. При записи данных...

Открытие файла на запись (masm32)
Программа должна создать массив и переписать два первых байта в выходной файл - FileOut....

Открытие и чтение файла, запись в файл
Вот дополнительно ссылка...

Открытие бинарного файла и его запись
Помогите пожалуйста сделать открытие бинарного файла и запись его через COM port в микросхему...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru