得到错误; attributeerror:'工作表'对象没有属性'delete_rows'openpyxl

时间:2019-03-28 17:47:00

标签: python openpyxl

我也在编写代码,以对excel工作表的输入执行GIS功能。有时excel工作表会进来,并在其属性字段的顶部有2行,而当有2行时,我需要删除第一行。如果需要的话,单元格A1的值将被命名

我试图编写代码以检查并删除它,如下所示;

apply()

如果if函数通过,它应该只删除第一行,但是我得到了错误;

警告

openpyxl

import arcpy, os, sys, csv, openpyxl

from arcpy import env

env.workspace = r"C:\Users\myname\Desktop\Yanko's tool"
arcpy.env.overwriteOutput = True



excel = r"C:\Users\myname\Desktop\Yanko's tool\Yanko's Duplicate tool\Construction_table_Example.xlsx"
layer = r"C:\Users\myname\Desktop\Yanko's tool\Yanko's Duplicate tool\Example_Polygons.shp"
output = r"C:\Users\myname\Desktop\Yanko's tool\\Yanko's Duplicate tool"

book = openpyxl.load_workbook(excel)
book.get_sheet_by_name("Construction Table format")




if ws.cell(row=1, column=1).value == "Naming":
    ws.delete_rows(1, 1)
book.save
book.close

在弄清我做错了什么方面的任何帮助将不胜感激

谢谢

1 个答案:

答案 0 :(得分:0)

首先,根据docs,不推荐使用get_sheet_by_name函数,您应该使用工作表名称来获取该函数:

book["Construction Table format"]

要注意的另一件事,在您的代码中,我看不到您设置了ws值,该值应该设置为返回的表单对象。如果您将其设置在其他位置,则可能使用的是不具有该功能的另一个工作表对象

ws=book["Construction Table format"]

除此之外,您还必须共享堆栈跟踪以更好地了解发生了什么