是什么原因导致 "UserWarning: Discarded range with reserved name" - openpyxl
What causes "UserWarning: Discarded range with reserved name" - openpyxl
我有一个简单的 EXCEL-sheet,A 列中包含城市名称,我想提取它们并将它们放入列表中:
def getCityfromEXCEL():
wb = load_workbook(filename='test.xlsx', read_only=True)
ws = wb['Sheet1']
cityList = []
for i in range(2, ws.get_highest_row()+1):
acell = "A"+str(i)
cityString = ws[acell].value
city = ftfy.fix_text_encoding(cityString)
cityList.append(city)
getCityfromEXCEL()
使用完美运行的小文件(70 行)。现在我正在处理一个大文件(8300 行),它给了我这个错误:
/Library/Python/2.7/site-packages/openpyxl/workbook/names/named_range.py:121: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
但它并没有中止。它似乎不再继续了。有人可以告诉我什么可能导致错误吗?它是 .xlsx 中的内容吗?我可以寻找什么特别提示?
这应该是一个友好的警告,让您知道在读取文件时一些定义的名称正在丢失。 Python 中的警告不是例外情况,而是信息性通知。
目前对已定义名称的支持基本上仅限于对 openpyxl 中单元格范围的引用。但它们可以指代许多其他内容,例如打印设置。但是,如果他们引用的 objects/values 没有被 openpyxl 保存并且文件被保存并稍后被 Excel 打开,它可能会抱怨缺少对象。
在我的例子中,当我的一个工作表上进行过滤时,会出现此警告。我想抑制警告,以免它打扰我的用户,我只是在 openpyxl.load_workbook 调用之前将此行放在我的代码中:
warnings.simplefilter("ignore")
如果你想忽略它:
import warnings
warnings.simplefilter("ignore")
wb = load_workbook(path)
warnings.simplefilter("default")
我有一个简单的 EXCEL-sheet,A 列中包含城市名称,我想提取它们并将它们放入列表中:
def getCityfromEXCEL():
wb = load_workbook(filename='test.xlsx', read_only=True)
ws = wb['Sheet1']
cityList = []
for i in range(2, ws.get_highest_row()+1):
acell = "A"+str(i)
cityString = ws[acell].value
city = ftfy.fix_text_encoding(cityString)
cityList.append(city)
getCityfromEXCEL()
使用完美运行的小文件(70 行)。现在我正在处理一个大文件(8300 行),它给了我这个错误:
/Library/Python/2.7/site-packages/openpyxl/workbook/names/named_range.py:121: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
但它并没有中止。它似乎不再继续了。有人可以告诉我什么可能导致错误吗?它是 .xlsx 中的内容吗?我可以寻找什么特别提示?
这应该是一个友好的警告,让您知道在读取文件时一些定义的名称正在丢失。 Python 中的警告不是例外情况,而是信息性通知。
目前对已定义名称的支持基本上仅限于对 openpyxl 中单元格范围的引用。但它们可以指代许多其他内容,例如打印设置。但是,如果他们引用的 objects/values 没有被 openpyxl 保存并且文件被保存并稍后被 Excel 打开,它可能会抱怨缺少对象。
在我的例子中,当我的一个工作表上进行过滤时,会出现此警告。我想抑制警告,以免它打扰我的用户,我只是在 openpyxl.load_workbook 调用之前将此行放在我的代码中:
warnings.simplefilter("ignore")
如果你想忽略它:
import warnings
warnings.simplefilter("ignore")
wb = load_workbook(path)
warnings.simplefilter("default")