|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- # 读取数据并清洗各个数据并保存为字典列表
- with open('F:\数据分析\python\案例\练习1:商铺数据清洗\商铺数据.csv','r',encoding='utf8') as f:
- # 读取整个文件,第一行不要
- for i in f.readlines()[1:]:
- # 取得每行的classify,name等数据
- data = i.split(',')
- classify = data[0]
- name = data[1]
- comment_count = comment_processor(data[2])
- star = data[3]
- price = price_processor(data[4])
- address = data[5]
- comment_list = comment_list_processor(i.split(",")[-1].split(' '))
- # 如果没有缺失数据,将每行的数据转换为字典
- if '缺失数据' not in [comment_count, price, comment_list]:
- # comment_list拆为3个指标
- quality = comment_list[0]
- evi = comment_list[1]
- service = comment_list[2]
- # 每行数据储存为一个字典
- temp_dic = {
- "classify": classify,
- "name": name,
- "star": star,
- "price": price,
- "address": address,
- "quality": quality,
- "evi": evi,
- "service": service
- }
- # 在IF外试图打印temp_dic
- print(temp_dic)
- # 将每行的字典数据添加到列表里
- data_list.append(temp_dic)
复制代码
大家看看这个代码中IF判断体内的temp_dic变量,当我试图在IF外打印temp_dic时,python就会报错,请问是什么原因?报错的提示是:“NameError: name 'temp_dic' is not defined”
为此,我设计了一个简单的程序:
- a = [1, 2, 3, 4]
- b = 0
- for i in range(7):
- b += 1
- if i not in a:
- c = b + 1
- # 在if外打印c
- print(c)
复制代码
虽然在IF内外打印的结果不一样,但是都可以打印的,请问是什么原因呢?
先定义,再用。这设计到,假如判断条件完全没进去,就没有定义,打印不了
|
|