2017-09-11 16 views
-2
Title 1   Title 2 
DKTM 00001   DKTM 00008 
DKTM 00009   DKTM 00017 
DKTM 00029   DKTM 00038 
DKTM 00050   DKTM 00061 
DKTM 00062   DKTM 00073 

계속 읽어 주신 모든 분께 감사드립니다. 내 딜레마는 데이터가 누락 된 CSV가 있다는 것입니다.숫자의 행으로 시작하고 행 (DKTM000008)으로 끝나는 두 개의 열이 있습니다. 숫자에 대해 열이 이와 같이 반복되지만, 경우에 따라 행의 번호가 누락됩니다 (Stated 위). 번호가 누락 된 행을 찾아서 화면에 출력하고 싶습니다. (자신 파이썬을 가르치고, 내가 출력 파일에 넣어 물어 보곤하지만이 작업을 수행 할 수 있습니다.) 원하는 출력의갭 분석을 통해 파이썬에서 누락 된 숫자 시퀀스를 찾으려면 어떻게합니까?

예를 :

DKTM 00018  DKTM 00028 
DKTM 00039  DKTM 00049 

사전에 감사합니다! 필자는 Python 3.6.2가 처음인데, 이것이 좋은 연습이 될 것이라고 생각했습니다. 내가 씹을 수있는 것보다 더 많이 물어 뜯는 것 같아요. 나는이 설명을 기초로 (Efficient way to find missing elements in an integer sequence) 활용했지만, downshift의 방법은 원하는 결과물을 훨씬 더 많이 얻을 수있었습니다.

+1

무엇을 시도했으며 어디에서 붙어 있습니까? 코드 작성 서비스가 아닙니다 – Dan

+0

@SomeNewPythonGuy : 적절한 대답을 얻으려면 코드를 재현 할 수있는 버전을 만들어야합니다. – Beta

+0

제 사과는 신사입니다. 나는 코드가 어떻게 작동하기를 원하는지에 대한 일반적인 생각을위한 링크를 보았지만 코드가 다른 결과물을 필요로함에 따라 길을 잃었다. 내가 아무 것도 할 수없는 무료 코드를 원했던 것처럼 보이면 정말 미안해. 나는 그 인상을주고 싶지 않았다. – SomeNewPythonGuy

답변

0

이와 비슷한 내용으로 시작하는 데 도움이 될 수 있습니다.

I 해요 콘텐츠 당신의 csv 파일의 레이아웃 (또는 당신이 사용하는 파이썬의 버전)하지만,이 내용으로 csv 파일 사용에 대한 너무 명확하지 :

DKTM00001,DKTM00009 
DKTM00002,DKTM00010 
DKTM00003,DKTM00011 

DKTM00005,DKTM00013 
DKTM00006,DKTM00014 

DKTM00008,DKTM00016 

우리가 파일을 읽을 수 있습니다

import csv 

with open('data.csv') as csvfile: 
    reader = csv.reader(csvfile) 
    for line, row in enumerate(reader, 1): 
     if not row: 
      print 'line:', line, 'contents:', row 

출력 :

line: 4 contents: [] 
line: 7 contents: [] 
,691,363 csv module를 사용하여210

enumerate 함수는 행을 계산하고 비어있는 행을 인쇄하기 때문에이 상황에서 유용합니다. 여기에서 으로 start 매개 변수를 enumerate으로 전달하여 0 대신에 1부터 시작하는 줄 수를 상쇄했습니다.

특정 Python 버전에 맞게 필요에 맞게 수정하십시오. 모든 설명이나 수정에 대해 의견을 말하십시오.

희망이 도움이됩니다.

+0

고맙습니다, 저단 변속! 예, 훌륭한 단계입니다. 나는 파이썬 3.6.2를 사용하고있다. 내 코드를 표시하지 않아서 유감입니다. 내가 원한다면 곧 원본 코드를 찾을 수 있습니다. 하지만 그렇습니다. 코드는 .......... .......... 제목 1 제목 2 DKTM00013, DKTM00024 누락 된 코드 줄은 – SomeNewPythonGuy

+0

입니다. 환영합니다. 더 나은 솔루션을 구성 할 수 있도록 코드 또는 샘플 입력 및 예상 출력을 포함하면 도움이됩니다. [편집] (https://stackoverflow.com/posts/46164858/edit)을 자유롭게하고 추가 정보로 질문을 업데이트하십시오 (형식이 부족하여 질문 양식의 서식 도구 사용을 고려하십시오). 더 나은 솔루션. 귀하의 의견에 감사드립니다. – davedwards

+0

고마워요! 내가 언급 한 변경 사항을 반영하기 위해 원본 댓글을 업데이트했습니다. 희망이 도움이됩니다!그리고 다시, 정말 고마워요! – SomeNewPythonGuy