Column length 1 does not match number of rows 2
时间: 2023-12-15 17:06:55 浏览: 48
这个错误通常表示在使用 `add_column()` 方法时,你提供的列长度与表格的行数不匹配。请确保你提供的列长度与表格的行数相同。
例如,如果你想将 `table2` 的数据作为一个新的列添加到 `table1` 中,你可以使用以下代码:
```
from prettytable import PrettyTable
# 创建第一个表格
table1 = PrettyTable()
table1.field_names = ["Name", "Age", "Gender"]
table1.add_row(["John", 30, "Male"])
table1.add_row(["Sara", 25, "Female"])
# 创建第二个表格
table2 = PrettyTable()
table2.field_names = ["City", "State", "Country"]
table2.add_row(["New York", "NY", "USA"])
table2.add_row(["London", "England", "UK"])
# 将两个表格连接
table1.align = "l"
table2.align = "l"
table1.add_column("Location", [row[0] for row in table2._rows])
print(table1)
```
在这个示例中,我们使用 `add_column()` 方法将 `table2` 中的第一列数据作为新的一列添加到 `table1` 中。我们使用了列表推导式 `[row[0] for row in table2._rows]` 来提取 `table2` 中的第一列数据,并将其作为参数传递给 `add_column()` 方法。
请注意,我们使用了 `table2._rows` 来获取 `table2` 中的所有行数据。`_rows` 属性包含了表格中的所有行,是一个二维列表。使用列表推导式 `[row[0] for row in table2._rows]` 可以提取出第一列数据组成一个新的一维列表。