복붙노트

[PYTHON] 파이썬 스트립 \ n [중복]

PYTHON

파이썬 스트립 \ n [중복]

이것은 내 문제입니다.

텍스트 파일을 읽은 다음 줄을 수레로 변환하려고합니다. 텍스트 파일은 \ n과 \ t를 가지고 있지만 제거 방법은 모르겠습니다.

line.strip ()을 사용하여 시도했지만 꺼내지 않았고 물건을 수레로 변환하려고 할 때 오류가 발생했습니다. 나는 그 다음에 line.strip ( "\ n")을 시도했지만 그 역시 작동하지 않았다. 내 프로그램은 텍스트 파일에서 \ t 및 \ n을 꺼낼 때 잘 작동하지만 할당과 함께 작동하도록하려면 할당의 일부입니다.

왜 이것이 작동하지 않는지 나는 정말로 모른다. 어떤 도움을 주셔서 감사합니다.

해결법

  1. ==============================

    1.line.strip ( '\ n')과 line.strip ( '\ t')을 사용할 수 있어야합니다. 그러나 이것들은 라인 변수를 수정하지 않습니다. 단지 \ n과 \ t를 제거한 문자열을 반환합니다. 그래서 당신은 뭔가를해야 할 것입니다.

    line.strip ( '\ n')과 line.strip ( '\ t')을 사용할 수 있어야합니다. 그러나 이것들은 라인 변수를 수정하지 않습니다. 단지 \ n과 \ t를 제거한 문자열을 반환합니다. 그래서 당신은 뭔가를해야 할 것입니다.

    line = line.strip('\n')
    line = line.strip('\t')
    

    그것은 시작과 끝에서 제거를 위해 작동해야합니다. 문자열의 중간에 \ n 및 \ t이 있으면 수행해야합니다.

    line = line.replace('\n','')
    line = line.replace('\t','')
    

    \ n과 \ t를 무의미한 것으로 바꿉니다.

  2. ==============================

    2.strip () 메서드는 기본적으로 공백을 제거하므로 '\ t'또는 '\ n'과 같은 매개 변수를 사용하여 호출 할 필요가 없습니다. 그러나 파이썬의 문자열은 변경할 수 없으며 수정할 수 없습니다. 즉, line.strip () 호출은 라인 객체를 변경하지 않습니다. 결과는 호출에 의해 리턴 된 새로운 문자열입니다.

    strip () 메서드는 기본적으로 공백을 제거하므로 '\ t'또는 '\ n'과 같은 매개 변수를 사용하여 호출 할 필요가 없습니다. 그러나 파이썬의 문자열은 변경할 수 없으며 수정할 수 없습니다. 즉, line.strip () 호출은 라인 객체를 변경하지 않습니다. 결과는 호출에 의해 리턴 된 새로운 문자열입니다.

    이미 언급했듯이 입력 파일에서 예제를 게시하면 도움이됩니다. 각 줄에 둘 이상의 숫자가 있으면 strip ()이 사용할 함수가 아닙니다. 대신 문자열 메소드 인 split ()을 사용해야합니다.

    결론적으로, 각 행에 공백으로 구분 된 여러 개의 부동 소수점이 들어 있고 모든 숫자의 목록을 작성한다고 가정하면 다음을 시도 할 수 있습니다.

    floats = []
    with open(filename) as f:
        for line in f:
            floats.extend([float(number) for number in line.split()])
    
  3. ==============================

    3.파이썬 정규식 패턴을 사용하는 것은 어떻습니까?

    파이썬 정규식 패턴을 사용하는 것은 어떻습니까?

    import re
    f = open('test.txt', 'r')
    strings = re.findall(r"\S+", f.read())
    

    그리고 파이썬은 선행 문자와 후행 문자 만 제거하기 때문에 line.strip () 함수가 작동하지 않습니다.

  4. ==============================

    4.파이썬 CSV 라이브러리는 이것에 좋다.

    파이썬 CSV 라이브러리는 이것에 좋다.

    http://docs.python.org/library/csv.html

    CSV = 쉼표로 구분 된 값이지만 구분 기호 = \ t를 설정하면 탭 구분 값에 대해서도 작동합니다.

  5. ==============================

    5.탭 문자로 구분 된 플로트 라인을 변환하려는 경우, float (line)은 전체 라인을 하나의 부동 소수점으로 변환하려고 시도하며, 둘 이상의 플로트가있는 경우 실패합니다. 스트립을 사용하여 선행 및 후행 공백을 없애는 것은 근본적인 문제를 해결하는 데 도움이되지 않습니다.

    탭 문자로 구분 된 플로트 라인을 변환하려는 경우, float (line)은 전체 라인을 하나의 부동 소수점으로 변환하려고 시도하며, 둘 이상의 플로트가있는 경우 실패합니다. 스트립을 사용하여 선행 및 후행 공백을 없애는 것은 근본적인 문제를 해결하는 데 도움이되지 않습니다.

    어쩌면 각 줄을 조각으로 나눠서 조각 하나 하나에 뭔가를 할 필요가 있을까요?

  6. ==============================

    6.종종 라인을 읽는 방법에 따라 myline에서 \ n을 없애기 위해, 당신은 myline [: - 1]을 (를) \ n이 myline의 마지막 문자이기 때문입니다.

    종종 라인을 읽는 방법에 따라 myline에서 \ n을 없애기 위해, 당신은 myline [: - 1]을 (를) \ n이 myline의 마지막 문자이기 때문입니다.

    '\ t'의 경우 replace () 또는 strip ()을 사용할 수 있습니다.

  7. ==============================

    7.당신이 사용할 수있는:

    당신이 사용할 수있는:

    mylist = []
    # Assuming that you have loaded data into a lines variable. 
    for line in lines:
        mylist.append(line.strip().split('\t')
    

    모든 데이터 행에 대한 필드 값만있는 파이썬 목록을 가져옵니다.

  8. from https://stackoverflow.com/questions/9347419/python-strip-with-n by cc-by-sa and MIT license