所以这是我第一次尝试从Excel文件中读取,并且尝试使用openpyxl模块来读取。我的目的是整理以嵌套列表作为其值的字典。但是,当我尝试运行警告时收到此警告:
UserWarning:不支持“数据验证”扩展,该扩展将被删除 警告(msg)
我不知道我要去哪里。任何帮助将非常感激。谢谢
import openpyxl
try:
wb = openpyxl.load_workbook("Grantfundme Master London.xlsx")
except FileNotFoundError:
print("File could not be found.")
sheet = wb["FUNDS"]
database = {}
for i in range(250):#this is the number of keys I want in my dictionary so loop through rows
charity = sheet.cell(row=i + 1, column=1).value
area_of_work = []
org = []
funding = sheet.cell(row=i + 1, column=14).value
for x in range(8, 13): # this loops through columns with info I need
if sheet.cell(row=i +1, column=x).value !="":
area_of_work.append(sheet.cell(row=i +1, column=x).value)
for y in range(3, 6): # another column loop
if sheet.cell(row=i +1, column=y).value !="":
org.append(sheet.cell(row=i +1, column=y).value)
database[charity] = [area_of_work,org, funding]
try:
f = open("database.txt", "w")
f.close()
except IOError:
print("Ooops. It hasn't written to the file")
答案 0 :(得分:3)
Excel 有一项称为数据验证的功能(在我的版本中,位于“数据”选项卡的“数据工具”部分),您可以在其中从规则列表中进行选择,以限制可以在单元格中输入的数据类型。这有时用于在 Excel 中创建下拉列表。此警告告诉您 openpyxl 不支持此功能,并且不会强制执行这些规则。如果您希望警告消失,您可以单击 Excel 中的数据验证图标,然后单击全部清除按钮以删除所有数据验证规则并保存您的工作簿。
答案 1 :(得分:0)
感谢截图!在没有看到实际的excel工作簿的情况下,很难确切地说出它在抱怨什么。
如果您注意到阅读器工作表模块的屏幕快照引用行322。看起来这是在告诉您openpyxl库不支持OOXML标准的数据声明扩展。似乎是在说它在您的工作簿中找到了数据验证扩展的一部分,当使用openpyxl扩展解析工作簿时,这些内容将会丢失。