print [i for i in c if i not in b] 注:b为报表中输出的酒店列表,C为酒店提供的列表,现在C为2865家,而报表中输出的只有2842家。有23家没有输出,需要确认这23家是不是真的没有price数据。
目前工作中客户总是提出增加hotel列表的需求,测试时每次都需要抽查新增酒店是否增加,还要做全量酒店数的验证,但由于生成ALL的CSV文件特别大,用EXCEL打不开,所以只能用python脚本读取来统计报表中输出的hotle数量。遇到了打开CSV时编码格式的问题,用utf-8不行,之前验证钟点房时,是可以的,这次就不行,最后改用utf-16就可以了,但我还是不知道为什么,这次我统计的是hotelID,但输出来的形如
b = [u'HOTEL_ID', u'15164071', u'808834', u'467288', u'430214', u'436167'] 这样的酒店列表,处理一下就OK了
第一步:先把最前面的表头u''HOTEL_ID'去掉, b.pop(0)
第二步:再用int函数就可以与EXCEL中提供的应行对比了。 c =[int(val) for val in b]
总之:编码是我记远的痛。555555