@byteDIY

Как найти все числа в html файле(таблица) и вычесть из каждого по 20%?

<tr>
<td>Установка смесителя в ванной</td>
<td>от 450 рублей</td>
</tr>
<tr>
<td>Установка смесителя на мойку, умывальник</td>
<td>от&nbsp;450 рублей</td>
</tr>

Есть таблица такого вида, в ней более 120 строк и вручную менять каждую займёт много времени, да и расценки часто меняются.(что бы вы понимали просто поддерживаю сайт и добавляю контент)
Как можно программно(без gui) реализовать программу такого плана
html_file = open('table.html', 'w')
На выходе, она должна либо создать новый файл с новыми расценками(то бишь от уже имеющейся - 20% ), либо внести изменения в уже существующий. Прошу помощи, просто как я полагаю тут потребуется работа с регулярными выражениями, а я в них ой как не силён...Спасибо.
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
BlackLacost
@BlackLacost
Если в html тегах и комменариях будут цифры они тоже поменяются. Так что если у вас будут там цифры нужно изменить регулярное выражение.
import re

# Если скидку сделать отрицательной, то будет наценка 20% :)
discount = 0.2

def repl(match):
    return str(int(float(match.group(0)) * (1 - discount)))

with open('table.html', 'r+') as fd:
    new_lines = [re.sub(r'(\d+)', repl, line) for line in fd]
    fd.seek(0)
    fd.writelines(new_lines)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
pytablereader
pytablewriter
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы