You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PrettyTable合并两个Beautiful Soup爬取的表格?

合并两个PrettyTable表格的方法

用Beautiful Soup完成数据爬取后,我得到了两个PrettyTable表格:

x = PrettyTable()
x.field_names = ['Titre', 'Price']
y = PrettyTable()
y.field_names = ['Description']

当前输出:

x = 
+-----------------+ 
| Titre | Price   |       
+-----------------+
| a     |  abc    | 
| b     |  xyz    |
+-----------------


y = 
+-----------------+ 
|   DESCRIPTION   |       
+-----------------+
|       abc       | 
|       xyz       |
+-----------------

期望输出:

+-----------------+-----------------+ 
| Titre | Price   |  DESCRIPTION    |        
+-----------------+-----------------+
| a     |  abc    |       abc       |
| b     |  xyz    |       xyz       |
+-----------------+-----------------+

请问是否可以将这两个表格合并,得到如下结构的表格z?

z = PrettyTable()
z.field_names = ['Titre', 'Price','Description']

当然可以合并,直接创建目标表格并将两行数据对应拼接即可,前提是两个表格的行数一致。示例代码如下:

from prettytable import PrettyTable

# 模拟已爬取填充好的x、y表格
x = PrettyTable()
x.field_names = ['Titre', 'Price']
x.add_rows([['a', 'abc'], ['b', 'xyz']])

y = PrettyTable()
y.field_names = ['Description']
y.add_rows([['abc'], ['xyz']])

# 初始化合并后的表格z
z = PrettyTable()
z.field_names = ['Titre', 'Price', 'Description']

# 遍历对应行,拼接后添加到z
for x_row, y_row in zip(x.rows, y.rows):
    z.add_row(list(x_row) + list(y_row))

# 打印合并结果
print(z)

运行后就能得到你想要的合并表格。如果x和y的行数不一致,需要先处理数据对齐问题,比如给行数少的表格补空值,或者过滤掉多余的行。

内容的提问来源于stack exchange,提问作者Bruno93600

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 09:01:43