|
发表于 2021-8-22 11:38:40
|
显示全部楼层
本帖最后由 gdmao002 于 2021-8-22 12:36 编辑
-
- for i in f:
- threeCode = ''
- text = i.replace('\n', '').split(',')
- textCode = text[4]
- year = text[0]
- shi = text[6]
- dw = text[2]
- if shi in transPrivinceName.keys():
- threeCode = transPrivinceName[shi]
- else:
- for key, val in transPrivinceName.items():
- if key in dw:
- threeCode = val
- break ###一旦找到就停止本次循环
- else:
- threeCode = ''
- if threeCode != '':
- text.append(val)
- f1.write(','.join(text) + '\n') ###再次补充上
- else:
- text.append(textCode[:2])
- f1.write(','.join(text) + '\n') ###这个是直接写入,手工验证等真的需要的时候再找出来
- f2.write(','.join(text) + '\n')
复制代码
这是你错误内的代码
然后我给你说下你为何错误
你可以想下如果你for i in f: 【第二行】的时候 第一个 判断的时候走的是【第九行】if shi in transPrivinceName.keys():
然后执行了这个 【第十八行】if threeCode != '': 那么【第十九行】里面的变量var哪里来?它又是指向哪里?所以你的错误就是在变量未定义之前 给他使用了。导致了报错,明白了吗
解决办法 前面定义个var变量的赋值 或者 整个循环逻辑修整下。毕竟你的代码只有你懂要做什么。我们最多只是提示下你要怎么操作,不可能面面俱到帮你修改到位,毕竟代码是你写的。我也通过你错误判断你这至少都要将近1000行代码了吧?那么别人更不可能帮你修改了,最多就提示你要怎么做 |
|