我在python循环的一次迭代中创建了大约200个变量(从excel文档中提取字段并将它们推送到SQL数据库中),我正试图找出一些问题。
假设一个迭代是一个Excel工作簿,我在一个目录中循环。我从每个工作簿中提取大约200个字段。
如果我提取其中一个字段(假设字段Š56/200)格式不正确(假设日期填写错误,即2015年9月31日,这不是一个真正的日期),它与我正在执行的操作出错。
我希望循环跳过该变量并继续创建变量#57。我不希望循环完全转到下一个迭代或工作簿,我只希望它忽略该变量上的错误,并继续使用该单个循环迭代的其余变量。
我该怎么做这样的事呢?
在这个示例代码中,我希望继续提取“PolicyState”,即使ExpirationDate有错误。
一些示例代码:import datetime as dt
import os as os
import xlrd as rd
files = os.listdir(path)
for file in files: #Loop through all files in path directory
filename = os.fsdecode(file)
if filename.startswith('~'):
continue
elif filename.endswith( ('.xlsx', '.xlsm') ):
try:
book = rd.open_workbook(os.path.join(path,file))
except KeyError:
print ("Error opening file for "+ file)
continue
SoldModelInfo=book.sheet_by_name("SoldModelInfo")
AccountName=str(SoldModelInfo.cell(1,5).value)
ExpirationDate=dt.datetime.strftime(xldate_to_datetime(SoldModelInfo.cell(1,7).value),'%Y-%m-%d')
PolicyState=str(SoldModelInfo.cell(1,6).value)
print("Insert data of " + file +" was successful")
else:
continue