我目前正在尝试使用Python3和openpyxl将数据写入Excel电子表格。我已经想出了在分配一个值时如何做到这一点,但由于某种原因,当我引入 For 循环时,它给了我一个错误。该程序最终将用于过滤python字典并从python字典中打印出键和值。现在,我只是尝试创建一个循环,该循环将在电子表格中为字典中列出的每个键(不包括嵌套键(输入一个随机整数。如果有人能帮助我确定为什么会出现此错误,我们将不胜感激。提前感谢!
# 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'
pyxl 的第一列是基于一列的,所以如果你修改你的循环以超过范围(1,n(,你的问题应该得到解决
在代码中使用.format(i)
而不是string + str(i)
可能会很好用!
顺便说一句,您的变量my_dict
出现错误.
例如:
for i in range(10):
sheet['A{}'.format(i)].value = 'xx'