#python #list #tkinter #label
#python #Список #tkinter #метка
Вопрос:
Я пытаюсь создать функцию, в которой она печатает строки и столбцы строки из списка.
input_data_col1 = [row1,row2,row3]
input_data_col2 = [row1,row2,row3]
input_data_col3 = [row1,row2,row3]
input_data_col4 = [row1,row2,row3]
Желаемый результат: (в метке tkinter с привязкой к сетке)
row1 row1 row1 row1
row2 row2 row2 row2
row3 row3 row3 row3
Любая помощь будет оценена, спасибо.
Комментарии:
1. Взгляните на,
pandas.DataFrame
2. Существует множество документации о том, как расположить виджеты в сетке, и на этом сайте есть вопросы, которые показывают, как создавать таблицы. Неясно, какая конкретная помощь вам нужна. Можете ли вы показать, что вы пробовали?
Ответ №1:
def func(ina, inb, inc, ind):
print('n'.join(' '.join(['{:.4f}'.format(x) for x in l]) for l in [ina, inb, inc, ind]))
Это очень наивный подход, который не будет работать на практике. На самом деле вы должны хранить их в таблице данных. Загляните в pandas.DataFrame
документацию объекта.
Для краткого примера рассмотрим массив:
data = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]
Вы можете создать таблицу данных pandas из этих данных, используя
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)
Комментарии:
1. Интересно, спасибо. Я прочитаю это. Как бы я распределил данные в сетке 4×4 по меткам с помощью tkinter?
2. спасибо, это сработало, но я не смог установить panda на свой Mac, поэтому я должен сделать это на своем ПК. Пришлось прибегнуть к какому-то немодульному методу, но полезная информация, для некоторых будущих проектов, еще раз спасибо
3. Нет проблем. Просто в следующий раз постарайтесь больше сосредоточиться на своем первоначальном вопросе и будьте конкретны.