我最近开发了一个API,它把用户表当作html,并试图用panda把它转换成excel。但我面临的问题是,我想合并任何基于td的单元格,它有列跨度或行跨度,但panda似乎不知道。相反,它把当前的td值复制到另一个单元格,而不是合并它。有什么方法可以实现这一点吗?
这是我写的代码
import pandas as pd
import openpyxl
import lxml
df = pd.read_html("""
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan=2>Test</td>
</tr>
<tr>
<td>Test</td>
<td>20</td>
</tr>
</tbody>
</table>
""")[0]
df.to_excel('test.xlsx')
这就是结果
预期结果
1条答案
按热度按时间sgtfey8w1#
在我看来,继续的方法是使用多索引,如下面的脚本所示。
注意,您需要激活属性
merge_cells
来合并多个索引。或者您可以选择在发送 Dataframe 到excel后合并。更多信息请参见:Merging Specific Cells in an Excel Sheet with Python