gpt4 book ai didi

python - 如何在 python 中编辑表格?

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:43 26 4
gpt4 key购买 nike

我有一段使用 matplotlib 的 python 3.x 代码。

colLabels = ["Name", "Number"]
data = [["Peter", 17], ["Sara", 21], ["John", 33]]
the_table = ax.table(cellText=data,
colLabels=colLabels,
loc='center')
plt.pause(0.1)

上面的代码是一个循环,现在我想搜索第一列中带有“Peter”的行(它是唯一的)并对其进行编辑,以便在每次迭代中第二列中的条目都会发生变化。我可以清除整个 ax 并添加新表,但效率很低(我会每 0.1 秒重绘多行表)

有没有办法在 matplotlib 中编辑它(以及如何),或者我应该使用其他一些库(哪个)?

最佳答案

可以通过选择单元格并设置单元格的 _text 属性的文本来更新 matplotlib 表中的文本。例如

the_table.get_celld()[(2, 1)].get_text().set_text("new text")

将更新第三行第二列的单元格。

动画示例:

import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

fig, ax = plt.subplots(figsize=(4,2))
colLabels = ["Name", "Number"]
data = [["Peter", 1], ["Sara", 1], ["John", 1]]
the_table = ax.table(cellText=data,
colLabels=colLabels,
loc='center')

def update(i):
the_table.get_celld()[(1, 1)].get_text().set_text(str(i))
the_table.get_celld()[(2, 1)].get_text().set_text(str(i*2))
the_table.get_celld()[(3, 1)].get_text().set_text(str(i*3))

ani = FuncAnimation(fig, update, frames=20, interval=400)
plt.show()

enter image description here

找出需要更新的单元格,最好使用数据而不是从表中读取数据来完成。

inx = list(zip(*data))[0].index("Peter")

为您提供索引 0,以便可以通过以下方式访问该单元格the_table.get_celld()[(inx+1, 1)](注意 +1,这是因为表格标题)。

关于python - 如何在 python 中编辑表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45142897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com