所以我有一个生成的列表,例如missingfromauthoratative,我想做两件事。1.在屏幕上打印结果;2. 将结果写入 csv 文件。
有了我所拥有的,它会做一个或另一个,有时甚至是一个组合。下面的代码是我所拥有的。
#Find what is missing or new
missingFromAuthoritative = dBase.execute('SELECT url, mapindex, mapname, layerid, layername FROM authoritative EXCEPT SELECT url, mapindex, mapname, layerid, layername FROM current;')
newToAuthoritative = dBase.execute('SELECT url, mapindex, mapname, layerid, layername FROM current EXCEPT SELECT url, mapindex, mapname, layerid, layername FROM authoritative;')
#Print missing services (-) and new services (+)
for missing in missingFromAuthoritative:
print '-', missing[0], '\n Map: ', missing[2], '\n Layer:', missing[4], '\n'
self.inconsistency += 1
outcsv = csv.writer(open('missing.csv', "wb"))
header = ("Map Service","Map Index","Data Frame","Layer ID","Layer Name")
outcsv.writerow(header)
outcsv.writerows(missingFromAuthoritative)
它有时还会将一行写入屏幕,将另外三行写入 csv。这就是我想要在屏幕上显示的内容 - MapServer 地图:图层图层:提议的发电站点 - MapServer 地图:图层图层:现有基础设施 - MapServer 地图:图层图层:现有公用设施站点 - MapServer 地图:图层图层:现有传输线 4 不一致在 81.28 秒内找到。
这就是我在 csv 地图服务地图索引数据框图层 ID 图层名称中想要的 MapServer 0 图层 0 拟议发电站点 MapServer 0 图层 1 现有基础设施 MapServer 0 图层 2 现有公用设施站点 MapServer 0 图层 3 现有传输线
我不知道为什么将它们放在 for 迭代器之后不起作用。让凋灵开始工作的唯一方法是评论对方。
谢谢