我正在分析多个包含重叠字段的csv。我首先尝试检查正在解析的csv中是否存在字段,然后检查字典中是否存在该值。如果该值不存在,那么我想将该值附加到字典中,以便以后可以将所有唯一值写入一个单独的文件。 我需要减少这个:
if 'ZIPCODE' in row: ZipCode = row['ZIPCODE'].upper()
else: ZipCode = ' '
并指向三元运算符:
ZipCode = row['ZIPCODE'].upper() if 'ZIPCODE' in row else ' '
第二个检查是Dict的if-else:
FieldDict['ZipList'].append(ZipCode) if ZipCode not in FieldDict['ZipList'] else ' '
我的问题是,有没有办法把这两个比较合并成一个单一的陈述?或者,有没有更好的方法来检查csv和字典中的唯一性。你知道吗
***想出来了****
FieldDict['ZipList'].append(row['ZipCode'].upper()) if 'ZipCode' in row else ' ' if row['ZipCode'] not in FieldDict['ZipList'] else ' '
参见Python"Conditional Expressions":
模拟三元运算符的另一种方法是:编辑:第二个方法无法工作,因为“ZIPCODE”可能不在行中,因此无法创建第一个列表并引发错误。太蠢了。你知道吗
正如马库斯所说,dictionnary get method()完美地解决了这个问题。你知道吗
关于Kasra的评论,这里有一点
timeit
表明他是对的:你可以试试这个:
相关问题 更多 >
编程相关推荐