파이썬에서 .txt 파일을 읽는 동안 모든 두 줄을 결합하십시오.

미스터 물리학

저는 현재 Python에서 다음과 같은 매우 큰 파일로 작업하고 있습니다.

junk
junk
junk
--- intermediate:
1489       pi0     111 [686] (1491,1492)   
                             0.534    -0.050    -0.468     0.724     0.135
1499       pi0     111 [690] (1501,1502)   
                            -1.131     0.503    12.751    12.812     0.135
--- final:
 32        e-      11 [7]    
                             9.072    20.492   499.225   499.727     0.001
 33        e+     -11 [6]    
                           -11.317   -17.699  2632.568  2632.652     0.001
 12         s       3 [10] (91)  >43 {+5}
                             2.946     0.315    94.111    94.159     0.500
 14         g      21 [11] (60,61)  34>>16 {+7,-6}
                            -0.728     3.329     5.932     6.907     0.950
------------------------------------------------------------------------------
junk
junk
--- intermediate:
repeat

나는 "----------------"줄까지 "--- final"줄 뒤의 모든 두 줄을 결합하고 싶다. 예를 들어, 출력 파일을 읽고 싶습니다.

 32        e-      11 [7]      9.072    20.492   499.225   499.727     0.001
 33        e+     -11 [6]    -11.317   -17.699  2632.568  2632.652     0.001
 12         s       3 [10]     2.946     0.315    94.111    94.159     0.500
 14         g      21 [11]    -0.728     3.329     5.932     6.907     0.950

공백없이 줄에서 추가 항목을 생략하는 방법에 유의하십시오. 내 현재 접근 방식은

start = False
for line in myfile:
    line = line.strip()
    fields = line.split()
    if len(fields)==0:
        continue
    if not start:
        if fields[0] == "----final:":
            start = True
        continue

len (fields) == 0은 "---------"줄에서 스크립트를 끝내고 다른 "---- final"줄을 볼 때까지 계속해야합니다. 내가 현재 어떻게해야할지 모르겠는 것은 공백이없는 줄의 추가 정보를 생략하면서 두 줄을 함께 결합하는 것입니다. 어떤 제안?

리암 켈리

원하는 섹션을 둘러싼 정확한 줄을 알고있는 한 :

#split the large text into lines
lines = large_text.split('\n')
#get the indexes of the beginning and end of your target section
idx_start = lines.index("--- final:")
idx_finish= lines.index("------------------------------------------------------------------------------")
#iterate through the section in steps of 2, split on spaces, remove empty strings, print them as tab delimited
for idx in range( idx_start+1, idx_finish, 2):
    out = list(filter(None,(lines[idx]+lines[idx+1]).split(" ")))
    print("\t".join(out))

large_text거대한 문자열로 가져온 파일은 어디에 있습니까 ?

편집 `large_text.txt '파일을 문자열로 열려면 다음을 시도하십시오.

with open('large_text.txt','r') as f:
    #split the large text into lines
    lines = f.readlines()
    #get the indexes of the beginning and end of your target section
    idx_start = lines.index("--- final:")
    idx_finish= lines.index("------------------------------------------------------------------------------")
    #iterate through the section in steps of 2, split on spaces, remove empty strings, print them as tab delimited
    for idx in range( idx_start+1, idx_finish, 2):
        out = list(filter(None,(lines[idx]+lines[idx+1]).split(" ")))
        print("\t".join(out))

가정

  1. 관심 섹션을 구분하는 줄을 알고 있습니다 (IE : "--- final :").
  2. 값은 탭으로 구분되지 않는 공백입니다. 하지 않으면 것은 변경 split(" ")split("\t")

승자가되어야 함 한 줄의 서식 수정 사항이 추가되었습니다. 동일한 가정이 적용됩니다.

with open('./large_text.txt','r') as f:
    #split the large text into lines
    lines = f.read().split("\n")
    #get the indexes of the beginning and end of your target section
    idx_start = lines.index("--- final:")
    idx_finish= lines.index("------------------------------------------------------------------------------")
    #iterate through the section in steps of 2, split on spaces, remove empty strings, print them as tab delimited
    for idx in range( idx_start+1, idx_finish, 2):
        line_spaces = list(filter(None,lines[idx].split(" ")))[0:4]
        other_line = list(filter(None,(lines[idx+1]).split(" ")))
        out = line_spaces + other_line
        print("\t".join(out))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 두 줄을 동적으로 변경하십시오.

분류에서Dev

Powershell-두 값 사이의 모든 줄을 캡처하고 캡처 한 줄을 Excel에서 읽을 수있는 파일에 저장

분류에서Dev

==를 사용하여 두 객체가 파이썬에서 동일한 값을 갖는지 확인하십시오.

분류에서Dev

파이썬으로 txt 파일에서 0 줄을 제거하십시오.

분류에서Dev

txt에서 읽는 동안 행의 끝과 줄의 시작을 결합하는 방법은 무엇입니까?

분류에서Dev

파이썬을 사용하여 두 파일의 각 줄을 한 줄로 결합하십시오.

분류에서Dev

모듈의 메이븐 빌드하는 동안 파일 시스템에서 파일을 읽는 방법

분류에서Dev

각 txt 파일의 두 번째 줄을 기준으로 PHP에서 txt 파일을 정렬하는 방법

분류에서Dev

txt 파일을 읽는 동안 왜 웃는 문자가 나오나요?

분류에서Dev

각 txt 파일의 시작과 끝에 폴더의 모든 txt 파일을 병합하는 배치 파일

분류에서Dev

명령 줄에서 이름과 성을 포함하는 두 개의 txt 파일 결합

분류에서Dev

다른 파일에서 하나의 패턴을 가져 오는 동안 두 패턴 사이에 줄 인쇄

분류에서Dev

txt 파일을 읽는 동안 NullPointerException이 발생했습니다.

분류에서Dev

txt 파일을 읽는 동안 NullPointerException이 발생했습니다.

분류에서Dev

파이썬에서 ( "#") 주석을 제외하고 파일의 모든 줄을 인쇄하는 방법

분류에서Dev

Python-두 열 .txt 파일 모두에서 루프 / 읽기 값 (페이로드)으로 요청을 게시하는 방법은 무엇입니까?

분류에서Dev

모든 Txt 파일을 Word 문서로 가져 오는 동안 텍스트 스타일을 "제목 1"로 포맷하는 방법

분류에서Dev

파이썬은 함수에서 두 줄 이상의 줄을 인쇄하는 동안 인쇄 된 문에서 패턴을 인식 할 수 있습니까?

분류에서Dev

자바를 .txt 파일에서 문자열을 가져 오는 동안 다른 모든 라인을 건너 뛰는

분류에서Dev

파이썬을 사용하여 xml 파일에서 두 문자열 사이의 모든 행을 제거하십시오.

분류에서Dev

파이썬에서 결과 숫자와 동일한 목록의 모든 수학적 조합을 얻는 방법

분류에서Dev

유형 오류 : 두 개의 dict에서 값을 빼는 동안 파이썬에서 해시 할 수없는 dict

분류에서Dev

파이썬에서 동일한 파일 이름을 가진 모든 파일을 검색하는 가장 효율적인 방법

분류에서Dev

파이썬에서 두 개의 csv 파일을 결합하는 방법

분류에서Dev

하위 폴더가있는 폴더에있는 모든 txt 파일의 첫 번째 줄을 읽고 파일 이름과 첫 번째 줄을 다른 파일로 인쇄합니다.

분류에서Dev

단어 집합에서 모든 구두점을 제거하거나 txt 파일의 모든 고유 단어를 C ++의 집합 (구두점없이)에 쓰기

분류에서Dev

HTML을 txt 파일에 쓰는 동안 인코딩 오류

분류에서Dev

입력 함수가 입력 txt 파일에서 모든 행을 읽는 이유는 무엇입니까? 파이썬

분류에서Dev

하나의 txt 파일에서 모든 줄을 가져 와서 일부 추가 항목과 함께 새 텍스트 파일에 복사하십시오.

Related 관련 기사

  1. 1

    파이썬에서 두 줄을 동적으로 변경하십시오.

  2. 2

    Powershell-두 값 사이의 모든 줄을 캡처하고 캡처 한 줄을 Excel에서 읽을 수있는 파일에 저장

  3. 3

    ==를 사용하여 두 객체가 파이썬에서 동일한 값을 갖는지 확인하십시오.

  4. 4

    파이썬으로 txt 파일에서 0 줄을 제거하십시오.

  5. 5

    txt에서 읽는 동안 행의 끝과 줄의 시작을 결합하는 방법은 무엇입니까?

  6. 6

    파이썬을 사용하여 두 파일의 각 줄을 한 줄로 결합하십시오.

  7. 7

    모듈의 메이븐 빌드하는 동안 파일 시스템에서 파일을 읽는 방법

  8. 8

    각 txt 파일의 두 번째 줄을 기준으로 PHP에서 txt 파일을 정렬하는 방법

  9. 9

    txt 파일을 읽는 동안 왜 웃는 문자가 나오나요?

  10. 10

    각 txt 파일의 시작과 끝에 폴더의 모든 txt 파일을 병합하는 배치 파일

  11. 11

    명령 줄에서 이름과 성을 포함하는 두 개의 txt 파일 결합

  12. 12

    다른 파일에서 하나의 패턴을 가져 오는 동안 두 패턴 사이에 줄 인쇄

  13. 13

    txt 파일을 읽는 동안 NullPointerException이 발생했습니다.

  14. 14

    txt 파일을 읽는 동안 NullPointerException이 발생했습니다.

  15. 15

    파이썬에서 ( "#") 주석을 제외하고 파일의 모든 줄을 인쇄하는 방법

  16. 16

    Python-두 열 .txt 파일 모두에서 루프 / 읽기 값 (페이로드)으로 요청을 게시하는 방법은 무엇입니까?

  17. 17

    모든 Txt 파일을 Word 문서로 가져 오는 동안 텍스트 스타일을 "제목 1"로 포맷하는 방법

  18. 18

    파이썬은 함수에서 두 줄 이상의 줄을 인쇄하는 동안 인쇄 된 문에서 패턴을 인식 할 수 있습니까?

  19. 19

    자바를 .txt 파일에서 문자열을 가져 오는 동안 다른 모든 라인을 건너 뛰는

  20. 20

    파이썬을 사용하여 xml 파일에서 두 문자열 사이의 모든 행을 제거하십시오.

  21. 21

    파이썬에서 결과 숫자와 동일한 목록의 모든 수학적 조합을 얻는 방법

  22. 22

    유형 오류 : 두 개의 dict에서 값을 빼는 동안 파이썬에서 해시 할 수없는 dict

  23. 23

    파이썬에서 동일한 파일 이름을 가진 모든 파일을 검색하는 가장 효율적인 방법

  24. 24

    파이썬에서 두 개의 csv 파일을 결합하는 방법

  25. 25

    하위 폴더가있는 폴더에있는 모든 txt 파일의 첫 번째 줄을 읽고 파일 이름과 첫 번째 줄을 다른 파일로 인쇄합니다.

  26. 26

    단어 집합에서 모든 구두점을 제거하거나 txt 파일의 모든 고유 단어를 C ++의 집합 (구두점없이)에 쓰기

  27. 27

    HTML을 txt 파일에 쓰는 동안 인코딩 오류

  28. 28

    입력 함수가 입력 txt 파일에서 모든 행을 읽는 이유는 무엇입니까? 파이썬

  29. 29

    하나의 txt 파일에서 모든 줄을 가져 와서 일부 추가 항목과 함께 새 텍스트 파일에 복사하십시오.

뜨겁다태그

보관