将列表中的所有数据放入单独的tkinter标签中

问题描述

我正在尝试创建一个函数,该函数从列表中打印字符串的行和列。

input_data_col1 = [row1,row2,row3]
input_data_col2 = [row1,row3]
input_data_col3 = [row1,row3]
input_data_col4 = [row1,row3]

所需的输出:(在tkinter网格标签中)

row1    row1    row1    row1
row2    row2    row2    row2
row3    row3    row3    row3

谢谢您的任何帮助。

解决方法

def func(ina,inb,inc,ind):
  print('\n'.join('    '.join(['{:.4f}'.format(x) for x in l]) for l in [ina,ind]))

这是一种非常幼稚的方法,在实践中不起作用。实际上,您应该将它们存储在数据表中。查看pandas.DataFrame对象的文档。

举一个简单的例子,考虑一个数组:

data = [[0,1,2],[3,4,5],[6,7,8],[9,10,11]

您可以使用以下数据从此数据创建熊猫数据表

pandas.DataFrame(data)

您可以这样添加行标签:

labels = [“a”,“b”,“c”,“d”]
pandas.DataFrame(data,labels)

pandas库还可以做很多其他事情,这就是为什么我强烈建议阅读其文档的原因。

OP随后更改了他们的问题,所以这是我的最新答案

您可以创建一个标签表,然后将每个标签填充到一个唯一的单元格中,例如

def func(data):
  labels = [[Label(root,text = cell) for cell in y] for y in data]
  for i in range(len(labels)):
    for j in range(len(labels[i])):
      labels[i][j].grid(i,j)