Задать вопрос
Pyrym
@Pyrym
Python 3 и PyQt5

Как перевести многомерный список в html-таблицу для QTextEdit?

Python 3. PyQt4
Есть многомерные списки, типа:
d = [[123, 456, 789],
     [444, 555, 669],
     [98, 535, 376],
     [444, 495, 226]]

Хочу такую штуку перевести в вид html-таблицы для вставки в текстовое поле PyQt4. Пока написал такую функцию, но не фурычит:
def on_click_7(self):
        def aps(i):
            i = ''.join(map(str, i))
            data.append(str(i))
        data = []
        self.pole_vivod.clear() # очистка поля вывода
        aps(['<table>'])
        for i in range(len(d)):
            for j in range(len(d[i])):
                j = '<td>'+str(j)+'<\td>'
            i = '<tr>'+str(i)+'<\tr>'

        aps([d])    
        aps(['</table>'])
        print('<hr>')
        for i in data:
            self.pole_vivod.append(str(i))
  • Вопрос задан
  • 189 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 2
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
попробуйте изменить for на основе этого:
for i in d:
	print('<tr>')
	for j in i:
		print('<td>'+str(j)+'</td>')
	print('</tr>')
Ответ написан
Pyrym
@Pyrym Автор вопроса
Python 3 и PyQt5
Вот работающее решение:
def on_click_7(self):
        def aps(i):
            i = ''.join(map(str, i))
            data.append(str(i))
        data = []
        self.pole_vivod.clear() # очистка поля вывода
        aps(['<table border ALIGN=CENTER WIDTH=95%>'])
        for i in d:
            aps(['<tr>'])
            for j in i:
                aps(['<td ALIGN=CENTER>'+str(j)+'</td>'])                
            aps(['</tr>'])
        aps(['</table>'])      
        data = ''.join(map(str, data)) # объединение списка
        self.pole_vivod.append(data)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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