在网上找练习代码,源代码在插入新一行的数据处理有一段遇到插入行的时候,怎么找问题都没找对,然后发现是insert_rows方法的问题, insert_rows
方法本身并不直接接受一个包含数据的列表来插入,所以我们需要先在需要的位置插入一个空行,然后手动设置这个空行的数据。
# coding:utf-8
from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
data= [["name","age","country"],["alice","23","china"],["young","31","usa"]]
for row in data:
sheet.append(row)
print("the initial of the sheet:")
for row in sheet.iter_rows(values_only=True):
print(row)
new_row_data=["li","23","uk"]
sheet.insert_rows(2)
new_row_idx =2
for col_idx,value in enumerate(new_row_data,1):
sheet.cell(row=new_row_idx,column=col_idx,value=value)
print("\nsheet after inserting:")
for row in sheet.iter_rows(values_only=True):
print(row)
workbook.save("insert_demo.xlsx")