此HTML有两个表:
'<div class="table-wrap"><table class="wrapped confluenceTable"><colgroup><col/><col/><col/><col/><col/><col/><col/><col/><col/><col/></colgroup><tbody><tr><th class="confluenceTh">Run</th><th class="confluenceTh">Date</th><th class="confluenceTh">Version</th><th class="confluenceTh">Model</th><th class="confluenceTh">OverallPrec</th><th class="confluenceTh">OverallRec</th><th class="confluenceTh"><span>PersonPrec</span></th><th class="confluenceTh"><span>Personrec</span></th><th class="confluenceTh">AnimalF1</th><th class="confluenceTh">VehicleF1</th></tr><tr><td class="confluenceTd">PR-191</td><td class="confluenceTd"><span>15,3/12/19,15:30</span></td><td class="confluenceTd"><span>1.2.191_abcdefg</span></td><td class="confluenceTd"><span>rfcn_dcn_0221</span></td><td class="confluenceTd"><span>0.95</span></td><td class="confluenceTd"><span>0.95</span></td><td class="confluenceTd"><span>0.98</span></td><td class="confluenceTd"><span>0.93</span></td><td class="confluenceTd"><span>0.85</span></td><td class="confluenceTd"><span>0.85</span></td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><colgroup><col/><col/><col/><col/></colgroup><tbody><tr><th class="confluenceTh">Col1</th><th class="confluenceTh">Col2</th><th class="confluenceTh">Col3</th><th class="confluenceTh"><p>Col4</p></th></tr><tr><td colspan="1" class="confluenceTd">1</td><td colspan="1" class="confluenceTd">2</td><td colspan="1" class="confluenceTd">3</td><td colspan="1" class="confluenceTd">4</td></tr></tbody></table></div>'
df1
Run Date Version Model OverallPrec OverallRec PersonPrec Personrec AnimalF1 VehicleF1
0 PR-191 15,3/12/19,15:30 1.2.191_abcdefg rfcn_dcn_0221 0.95 0.95 0.98 0.93 0.85 0.85
df2
Col1 Col2 Col3 Col4
0 1 2 3 4
我想向df2追加新行
df2.loc[len(bdf)] = [2,3,4,5]
,然后将其转换回html以进行发布。 df2.to_html
不起作用,因为它缺少<div>
,class
和许多其他标签
df2.to_html(classes='confluenceTh')
'<table border="1" class="dataframe confluenceTh">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>Col1</th>\n <th>Col2</th>\n <th>Col3</th>\n <th>Col4</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>2</td>\n <td>3</td>\n <td>4</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2</td>\n <td>3</td>\n <td>4</td>\n <td>5</td>\n </tr>\n </tbody>\n</table>'
答案 0 :(得分:1)
在将html作为字符串处理时,一个方便的选择是使用html解析器,例如beautifulsoup。
您可以复制表格行之一进行修改,从而基本上可以跳过手动确保类和其他标记的一致性的情况。
self.entry
话虽如此,很少有人需要在以这种方式进行解析后将其附加到html上,通常来说,在html创建之前/期间,通常可以控制“上游”。因此,我建议将其作为一种选择进行探索,或者在服务器端使用模板,在客户端使用javascript。