在excel中写入多个单元格,使用python,但得到错误消息:tuple没有属性值



我从sheet_obj抽出三个名字,但当我试图将这三个名字写入另一个excel文件时,我得到一个错误,指出以下元组对象没有属性值:sheet['A1:A3'] = cell_obj.value

如果我把它改成sheet['A1'] = cell_obj。值,那么我只在一个单元格中获得数据,而不是在单独的单元格中获得三个数据。我不知道我哪里错了。

import openpyxl
wb_obj = openpyxl.load_workbook(latest_file)
sheet_obj = wb_obj.active
max_column = sheet_obj.max_column
for i in range(1, max_column+1):
cell_obj = sheet_obj.cell(row=1, column = i)
print(cell_obj.value)

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'Sheet 1'
my_list = cell_obj.value
sheet['A1:A3'] = cell_obj.value
wb.save('hello_world.xlsx')

cell_obj只引用一个单元格值,而不是所有3个单元格。您可以通过设置每个单元格来设置值。

import openpyxl
wb_obj = openpyxl.load_workbook(latest_file)
sheet_obj = wb_obj.active
max_column = sheet_obj.max_column

#for i in range(1, max_column+1):
#   cell_obj = sheet_obj.cell(row=1, column = i)
#   print(cell_obj.value)

# Save cell values into a list
my_list = [sheet_obj.cell(row=1, column = i).value for i in range(1, max_column+1)]
print(my_list)

wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'Sheet 1'
# my_list = cell_obj.value
# Iterate over list and update each cell
for i, v in enumerate(my_list):
sheet.cell(row=i+1, column=1).value = v

wb.save('hello_world.xlsx')

最新更新