次のコードを実行すると、 "IdentationError:unexpected indent"というエラーが発生します。しかし、私はなぜそれを解決できるのか分かりません。エラーは最初のifステートメントにあります。Python:ループ内の正規表現によって生成される配列 "予期しないインデントエラー"
import re
import xlrd
workbook = xlrd.open_workbook(file_location)
sheet = workbook.sheet_by_index(0)
UOB = [sheet.cell_value(r,14) for r in range(sheet.nrows)]
count = {}
Myset = set()
for x in range (sheet.nrows):
match = re.findall(",*([\w]*[College]*[Department]*[\w ]*),[ ]
[The]*Uni[\w.]*[ ]of[ ]Bahr[ai]*[ei]*n,*([\w ]*[College]*[Department]*[\w ]*),",UOB[x])
if match[0][0]!='':
if match[0][0] in Myset:
count[match[0][0]]+=1
else:
Myset.add(match[0][0])
count[match[0][0]]=1
else:
if match[0][1] in Myset:
count[match[0][1]]+=1
else:
Myset.add(match[0][1])
count[match[0][1]]=1
は、単一の行に、私は混合タブとスペースを参照 –
であるためにあなたの正規表現を修正します。それを修正してください。 (私は、Pythonが字下げの問題に遭遇する前にエラーがあったはずの不正な文字列リテラルも見ています) – user2357112
その正規表現は意味をなさない。 '[The] *'? '[College] *'?文字クラスと '*'はどちらも不適切です。 – user2357112