我从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')