2016-07-26 4 views
-2

큰 .csv 파일에서 소수점 이하 자릿수로 작업하고 있습니다.Notepad ++ 마지막 두 열의 소수점 이하 자릿수를 제거합니다.

마지막 두 개의 열에만 의 0을 제거하는 방법이 있습니까? 내 데이터의 Heres는 코드 조각 :

05/02/2002,07:22,0.7405,0.7405,0.7405,0.7405,0,2,2.00,2.00 
05/30/2002,06:00,0.7725,0.7725,0.7725,0.7725,1,0,1.00,0.00 
06/03/2002,21:08,0.7870,0.7870,0.7870,0.7870,1,0,1.00,0.00 
06/04/2002,03:59,0.7875,0.7875,0.7875,0.7875,3,0,3.00,0.00 

간단하게 찾아 .00 교체는 다른 열에서 내 데이터의 일부 지역에서 "빈"결과는 서로 다른 값으로 응축 할 수 있습니다.

+0

메모장 + +는 소프트웨어를위한 최고의 조각이 아닐 수도 있습니다. 참조 : Microsoft Excel, Openoffice, Libreoffice 등 –

+0

Excel에서 완전히 내보낼 수없는 매우 큰 .csv (2 백만 항목에 가깝습니다)입니다. – harold

답변

-1

정규식 작업을 수행해야 바꾸기 "(([^] ) {8} ([^])?) ([^] *?) ((00).?. 00)? " "5월 2일/2002,07 : 22,0.7405,0.7405,0.7405,0.7405,0,2,2.00,2.00" http://www.regexe.com/을에 (따옴표없이) "$ 1, $ 3" 와 는

입력과 협력

편집 : 내 게시물을 포맷 할 때 정규 표현식이 변경되었습니다. 다른 열은 정확히 2 소수점을 가지고있는 것 같습니다 없기 때문에 그것은 충분해야 $1

\.00(,|$)를 교체 (([^,]*,){8}([^,]*?))(\.00)?,([^,]*?)(\.00)?

+0

다음 발췌에서 단 하나의 발생이 대체되었습니다. – harold

+0

올바른 정규 표현식이 아닙니다. [[^,] 뒤에 '+'가 있어야합니다. –

+0

완전 정규식은'(([^,] +,) {0, 0}? (0, 00)? (0)? –

0

보십시오 :이 내가 게시 원하는 정규식입니다. 하나의 어커런스 만 일치하는 경우 모두 바꾸어야 할 수 있습니다. $1

  • 모든
  • 교체 : 교체 \.00(,\d+)\.00$
  • :

    • Ctrl 키 + H
    • 무엇 찾기 : 여기
  • 0

    가 작업을 할 수있는 방법입니다,210

    . matches newline이 마지막 두 컬럼에 아무것도에 의해 .00을 대체합니다 확인하지 마십시오.

    +0

    예를 들어 한 행에 두 개의 일치 항목이없는 데이터는 실패합니다. '..., 1.00,2.50' – Walf

    +0

    @Walf : 사실,하지만 그건 OP가 말한 것이 아닙니다. – Toto

    관련 문제