Я только начинаю изучать python и поэтому хотел бы создать таблицу html на основе имен файлов. визуализации следующие файлыpython create html table from dict
apple.good.2.svg
apple.good.1.svg
banana.1.ugly.svg
banana.bad.2.svg
kiwi.good.svg
Вид объекта всегда первая часть (до первой точки) свойство качества находится где-то в названии.
Моя результирующая таблица должна выглядеть следующим образом:
Object Name | good | bad | ugly
-------------------------------------------------------------------------
apple | apple.good.1.svg |
| apple.good.2.svg |
-------------------------------------------------------------------------
banana | | banana.bad.2.svg | banana.1.ugly.svg
-------------------------------------------------------------------------
kiwi | kiwi.good.svg
-------------------------------------------------------------------------
Это то, что я сделал до сих пор
#!/usr/bin/python
import glob
from collections import defaultdict
fileNames = defaultdict(list)
# fill sorted list of tables based on svg filenames
svgFiles = sorted(glob.glob('*.svg'))
for s in svgFiles:
fileNames[s.split('.', 1)[0]].append(s)
# write to html
html = '<html><table border="1"><tr><th>A</th><th>' + '</th><th>'.join(dict(fileNames).keys()) + '</th></tr>'
for row in zip(*dict(fileNames).values()):
html += '<tr><td>Object Name</td><td>' + '</td><td>'.join(row) + '</td></tr>'
html += '</table></html>'
file_ = open('result.html', 'w')
file_.write(html)
file_.close()
мне удалось прочитать файлы, отсортированные в Словаре:
{'kiwi': ['kiwi.good.svg'], 'apple': ['apple.good.2.svg', 'apple.good.1.svg'], 'banana': ['banana.1.ugly.svg', 'banana.bad.2.svg']}
Но не удается создать таблицу html.
Как я могу построить таблицу HTML, как показано выше? Где объекты записываются в первый первый столбец строки и имя файла в столбцах в зависимости от их свойства качества?
спасибо большое tobias_k! –
еще один вопрос, скажем, мне нужны '_' и' .'as limiter '' _ {}. "' И имеют '* _bad.svg' и '* _medium_bad.svg' в моих именах файлов. 'medium_bad.svg' войдет в плохую колонку, так как она разделена с подчеркиванием. Есть ли способ обойти это? –
Я просто подумал, может, это сработает, прежде чем работать с диктатором, чтобы заменить «medium_bad» на «medium-bad»? –