이것은 잠시 동안 읽었음에도 불구하고 첫 번째 게시물입니다. 저는 파이썬 초보자이며 도움이 필요합니다. 매우 큰 파일 (2 백만 줄 이상)을 처리하고 있지만, 훨씬 더 작은 예 (74513보다는 24 줄)를 보여 드리겠습니다. 그래서 저는 24 줄을 가지고 있다고 가정 해 봅니다. 각 줄은 부동 소수점 숫자를 가지고 있고, 그 다음에 같은 줄에 3 개의 숫자를 넣었고, 다시 24 줄, 3 줄의 줄과 29 줄의 줄이 있습니다.대용량 파일을 처리하는 동안 배열 만들기
56.71739
56.67950
56.65762
56.63320
56.61648
56.60323
56.63215
56.74365
56.98378
57.34681
57.78903
58.27959
58.81514
59.38853
59.98271
60.58515
-1.00000
56.09566
56.05496
56.02777
56.00158
55.98341
55.96830
55.99615
1 1 1
56.34692
56.70977
57.15187
57.64234
58.17782
58.75118
59.34534
59.94779
-1.00000
55.47366
55.42963
55.39739
55.36958
55.35020
55.33404
55.36098
55.47148
55.71110
56.07384
56.51588
57.00632
57.54180
58.11517
58.70937
2 1 1
은 처음 24 선 배열을 생성하는 것은 매우 쉽습니다 :
import numpy
def ttarray_tms (traveltimes):
'''It defines the 3-D array, organized as I want.'''
with open (traveltimes, 'r') as file_in:
newarray = file_in.readlines()
ttarray = np.array(newarray)
ttarray.shape = (2,3,4)
ttarray = np.swapaxes(ttarray,1,2)
ttarray = np.swapaxes(ttarray,0,2)
return ttarray
은 참고 사항 : 각 숫자 사이에 빈 줄이 없습니다. 그것은 간단한 콜론 - 벡터 파일입니다. 웬일인지 나는 그런 것처럼 게시해야했다. 내가 원하는 것은 기본적으로 29 개 배열을 얻는 것이므로 24 개 라인을 반복하여 배열을 얻은 다음 다음 24 개 라인 (3 개 숫자로 라인을 건너 뛰기, 나는 정말로 필요하지 않음)을 반복하고 get 다른 배열 등등. 내 주요 문제는 어떻게 3 숫자와 라인을 건너 뛰고 새 배열에 대한 새로운 루프를 시작하는 것입니다 생각합니다.
좋은 생각있어?
대단히 감사합니다.
@smone pilia : 게시물의 서식을 조정했습니다. 어려움을 겪고있는 경우, "질문하기"를 클릭하면 (그리고 대답 할 때) 편집 상자 바로 위에 오렌지색 "?"이 나타납니다. 그것을 클릭하면 구문을 알려줍니다. (이 페이지 아래에 오렌지색 '?'가 있으며, 아래는 "Your Answer"비트 바로 아래에 있습니다.) – Thanatos
@cwallenpoole : 파이썬을 들여 줘서 고마워요. 그 비트를 놓쳤습니다. – Thanatos
고마워요! 나는 그것을 앞으로 할 것이다! – eikonal