[Python] How to suppress html table cell overflow when merging cells using rowspan?

Discussão em 'Python' iniciado por Stack, Maio 12, 2025.

  1. Stack

    Stack Membro Participativo

    Using Python, I generated the html for a table. The table is a teacher timetable.

    The data comes from a .csv, looks like this for the first and second row:

    Start period,Course,Lesson number,Day,Start time,End time,Instructor,Day number,Number of periods
    1,CHEM1250,L01,Monday,8:00,9:30,John,1,3


    The first column is the class Periods, starting at 1, and the other columns are Monday to Friday

    For example, instructor John has 3 periods starting on Monday at 8am.

    So I set rowspan="3" for cell Monday Period 1.

    If I display the table without borders, everything looks great. But if I set borders, the cells that are merged end up in a 7th column which has no header.

    How can I suppress that?

    This is the html for the table:

    <table align="center" border="1">
    <br>
    <caption>Timetable</caption>
    <tr><th>Period</th><th>Monday</th><th>Tuesday</th><th>Wednesday</th><th>Thursday</th><th>Friday</th></tr>
    <tr><td>1 (8:00-8:30)</td><td rowspan=3>CHEM1250 L01<br>Instructor: John<br>Room: 201<br>Periods: 3</td><td></td><td rowspan=3>BIOL1150 L01<br>Instructor: Michel<br>Room: 201<br>Periods: 3</td><td></td><td></td></tr>
    <tr><td>2 (8:30-9:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>3 (9:00-9:30)</td><td></td><td rowspan=3 >PHYS1200 L01<br>Instructor: Jenna<br>Room: 203<br>Periods: 3</td><td></td><td></td><td></td></tr>
    <tr><td>4 (9:30-10:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>5 (10:00-10:30)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>6 (10:30-11:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>7 (11:00-11:30)</td><td></td><td></td><td></td><td rowspan=2 >PHYS1200 L02<br>Instructor: Michel<br>Room: 207<br>Periods: 2</td><td></td></tr>
    <tr><td>8 (11:30-12:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>9 (12:00-12:30)</td><td></td><td>CHEM1250 L02<br>Instructor: John<br>Room: 209<br>Periods: 1</td><td></td><td></td><td></td></tr>
    <tr><td>10 (12:30-13:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>11 (13:00-13:30)</td><td></td><td></td><td rowspan=3 >BIOL1150 L01<br>Instructor: Alice<br>Room: 211<br>Periods: 3</td><td></td><td rowspan=2 >CHEM1250 L03<br>Instructor: Bob<br>Room: 211<br>Periods: 2</td></tr>
    <tr><td>12 (13:30-14:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>13 (14:00-14:30)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>14 (14:30-15:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>15 (15:00-15:30)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>16 (15:30-16:00)</td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr><td>17 (16:00-16:30)</td><td></td><td></td><td></td><td></td><td></td></tr>
    </table>


    I tried this in Vivaldi Browser and Firefox.

    Continue reading...

Compartilhe esta Página