AttributeError: объект 'tuple' не имеет атрибута 'value' PYTHON TO EXCEL - PullRequest
0 голосов
/ 18 июня 2020

В настоящее время я пытаюсь записать данные в электронную таблицу Excel, используя Python3 и openpyxl. Я понял, как это сделать при присвоении одного значения, но по какой-то причине, когда я вводю For l oop, он выдает ошибку. Эта программа в конечном итоге будет использоваться для фильтрации по словарю python и распечатки ключей и значений из словаря python. На данный момент я просто пытаюсь создать al oop, который будет вводить случайное целое число в электронную таблицу для каждого ключа, указанного в словаре (не включая вложенные ключи). Если кто-нибудь может помочь мне определить, почему возникает эта ошибка, я был бы очень признателен. Заранее спасибо!

# Writing Dictionary to excel spreadsheet
import openpyxl
import random

wb = openpyxl.load_workbook("ExampleSheet.xlsx")
sheet = wb.get_sheet_by_name("Sheet1")

sheet["B1"].value = "Price" #This works and assigns the B1 value to "price" in the spreadsheet

my_dict = {'key': {'key2' : 'value1', 'key3' : 'value2'} 'key4' : {'key5' : 'value3', 'key6' : 'value4'}} #an example dictionary

n = len(my_dict)
  for i in range(0,n): 
    sheet['A'+ str(i)].value = random.randint(1,10) #This does not work and gives an error

wb.save('ExampleSheet.xlsx')

OUTPUT >>> AttributeError: 'tuple' object has no attribute 'value'

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Использование .format(i) вместо string + str(i) в коде ur может работать хорошо!

BTW, ur var my_dict получить ошибку.

например:

for i in range(10):
    sheet['A{}'.format(i)].value = 'xx'
1 голос
/ 18 июня 2020

Первый столбец pyxl основан на одном, поэтому, если вы измените свой l oop на go в диапазоне (1, n), ваши проблемы должны быть решены

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...