【发布时间】:2019-03-28 17:46:59
【问题描述】:
我正在编写代码来执行 GIS 功能到 Excel 工作表的输入。有时 excel 工作表会进来并在其属性字段的顶部有 2 行单独的行,当有 2 行时,我需要删除第一行。如果我需要这样做,单元格 A1 的值将被命名
我尝试编写代码来检查并删除它,如下所示;
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
如果 if 函数通过 true,它应该只删除第一行,但我得到错误;
警告
(from warnings module):
File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\openpyxl\reader\worksheet.py", line 310
warn(msg)
UserWarning: Data Validation extension is not supported and will be removed
Traceback (most recent call last):
File "C:\Users\ronan.corrigan\Desktop\Yanko's tool\Yanko's Duplicate tool\Yanko's Tool.py", line 31, in <module>
ws.delete_rows(1, 1)
AttributeError: 'Worksheet' object has no attribute 'delete_rows'
任何帮助找出我做错了什么将不胜感激
谢谢
【问题讨论】:
-
Edit 您的问题并显示完整追溯。
-
检查你的 openpyxl 版本。
-
我在一个月前安装了 openpyxl。我现在已经升级了它,它给了我同样的错误