2017-02-14 5 views
0

이것은 csv 파일 프로세스를 자르는 것과 관련이 있습니다. 4 열이있는 mar 형식의 csv 파일이 있지만 마지막 열에 쉼표가 너무 많거나 많습니다.Python : 첫 번째로 일치하는 첫 번째 문자를 다른 문자로 바꿉니다.

구분 기호를 "|"같은 다른 문자로 바꾸고 싶습니다. 예를 들어, "a | b | c | d, e, f"에 문자열 = "a, b, c, d, e, f"

다음 코드는 작동하지만, 대형 txt 파일을 처리하는 효율적인 방법. 일어날 교체의 최대 개수를 지시 (당신이 self을 계산하는 경우 또는 네 번째)

>>> sample_txt='a,b,c,d,e,f' 
>>> print(sample_txt.replace(',', '|', 3)) 
a|b|c|d,e,f 

str.replace는 세번째 인수를 취합니다

sample_txt='a,b,c,d,e,f' 
temp=sample_txt.split(",") 
output_txt='|'.join(temp[0:3])+'|'+','.join(temp[3:]) 
+0

줄이 많거나 줄이 너무 길어서 텍스트가 큽니까? 당신이 짧은 줄이 많다면 나는 당신이 이미 가지고있는 것보다 훨씬 더 잘할 수 있다고 생각합니다. – Julien

답변

1

파이썬 완벽한 str.replace로,이 작업을 수행하는 방법이있다.

+1

멋지고 깔끔한 해결책을 가져 주셔서 감사합니다. 파이썬 기본 함수의 세부 사항을 한 번 더 확인해야합니다. – notilas

1
sample_txt='a,b,c,d,e,f' 
output_txt = sample_txt.replace(',', '|', 3) 
관련 문제