그래서 목록이 생성됩니다. 그 목록에서 나는 두 가지 일을하고 싶다. 1. 결과를 화면에 인쇄하십시오. 2. 결과를 csv 파일에 씁니다.인쇄 파이썬 및 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 지도 : 레이어 레이어 : 기존 전송 라인 4 개의 불일치가 81.28 초 내에 발견되었습니다.
이 내가 CSV에서 원하는 것입니다 지도 서비스 맵 색인 데이터 프레임 레이어의 ID 계층 이름 맵 서버 0 레이어 0 제안 된 발전 사이트 맵 서버 0 레이어 1 기존 인프라 맵 서버 0 레이어 2 개 기존 유틸리티 사이트 MapServer 0 레이어 3 기존 전송 라인
for iterator가 작동하지 않는 이유는 알 수 없습니다. 쇠퇴하게하는 유일한 방법은 다른 것을 주석으로 처리하는 것입니다.
감사합니다.
감사합니다. 나는 그것을 얻을 수없는 것과 같아야한다고 생각하고있었습니다. 또한 구문 오류를 막기 위해 <__future__ import from open>을 시작 부분에 넣어야했습니다. – user1614303