我希望有人能指出我出错的地方。我正在寻找迭代“mylist”列表以获取第一个条目并将该第一个条目用作搜索字符串,然后执行搜索并在找到该字符串后收集特定信息并将其发布到Excel工作表中。然后我希望迭代到下一个“mylist”条目并执行另一个搜索。第一次迭代执行正常,但环路我得到以下CMD窗口错误的第二次迭代...Python,遍历列表来执行搜索
2014 Apr 25 09:43:42.080 INFORMATION FOR A
14.01
Traceback (most recent call last):
File "C:\TEST.py", line 362, in <module>
duta()
File "C:\TEST.py", line 128, in duta
if split[10] == 'A':
IndexError: list index out of range
Exception RuntimeError: RuntimeError('sys.meta_path must be a list of
import hooks',) in <bound method Workbook.__del__ of
<xlsxwriter.workbook.Workbook object at 0x0238C310>> ignored
这里是我的代码...
for root, subFolders, files in chain.from_iterable(os.walk(path) for path in paths):
for filename in files:
if filename.endswith('.txt'):
with open(os.path.join(root, filename), 'r') as fBMA:
searchlinesBMA = fBMA.readlines()
fBMA.close()
row_numBMAA+=1
num = 1
b = 1
print len(mylist)
print (mylist[num])
while b<len(mylist):
for i, line in enumerate(searchlinesBMA):
for word in [mylist[num]]:
if word in line:
keylineBMA = searchlinesBMA[i-2]
Rline = searchlinesBMA[i+10]
Rline = re.sub('[()]', '', Rline)
valueR = Rline.split()
split = keylineBMA.split()
if split[6] == 'A':
print keylineBMA
print valueR[3]
worksheetFILTERA.write(row_numBMAA,3,valueR[3], decimal_format)
row_numBMAA+=1
break
num+=1
b=+1
任何想法,我我做错了吗?我的循环是否偏离了位置,还是我没有输入正确的列表指针?
感谢, MikG
不'关闭'用'with'打开的文件只是向左缩进,它会自动关闭。为什么使用'num'和'b',它们看起来就像是一样的东西。 – cmd