나는 일반적으로 코딩에 익숙하지 않고 일부 데이터를 자르는 데 문제가 있습니다. 그것은 간단한 텍스트 파일에 있으며 파일에서 하나의 큰 텍스트 문자열을 가져 와서 목록 내의 개별 값 (예 : index [0] = -78.5)으로 분할했습니다. 상기리스트의 처음 두 인덱스는 각각 위도와 경도이며, 다음 240은 값 (분석하고자하는 데이터)입니다. 거기에서 다음 두 값은 위도와 경도입니다. 다시 말해 인덱스 [242]와 [243]은 각각 위도와 경도입니다.파이썬 - 조각에서 목록 내에 여러 목록 만들기
첫 번째 242 개의 색인 (lat, lon 및 240 개의 개별 값)을 꺼내 목록에 넣은 다음이 목록을 반복하여 '마스터' 목록, 중첩 목록 만들기 나는 목록의 끝에 도달 할 때까지 이것을하고 싶다. 나는 242 단계를 원한다는 것을 의미한다. 최종 결과는 다음과 비슷한 모습이 될 것입니다
이master_list = [[위도, 경도, 240 개 값이 ...], [위도, 경도, 240 개 값이 ...], ...]
내가 필요 이것은 내가 위도와 경도에 개별적으로 접근 할 수 있도록하는 동시에 좌표계를 기반으로이 데이터를 자르기 때문에 그 목록의 값과 연관성을 유지합니다.
f = open('file.txt', 'r')
file_contents = f.read()
f.close()
single_obs = file_contents.split(" ")
new_list = []
blank_value = single_obs[0]
def remove_blankspace(my_list):
for i in my_list:
if i != blank_value:
new_list.append(i)
return new_list
remove_blankspace(single_obs)
print new_list[0]
이 기본적으로 그냥 날이 파일에서 빈 공간을 제거하고 목록에서 개별 요소로 문자열을하고있다 :
지금까지,이 있습니다. 'new_list'에는 많은 요소가 있습니다!
나는 시험으로 이것을 시도,하지만 난 방법 벗어났다, 나는 내 컴퓨터를 다시 시작했다 이후는 무한 루프를 만들 생각 :indiv_values = []
for value in new_list:
line = new_list[::239]
indiv_values.append(line)
print indiv_values[0]
내가 이전 라인으로 라인을 분할 시도를 각 있기 때문에, line은 lat, lon 및 240 값을 포함합니다. 나는 각 줄을 포함하는 목록을 만들 수 있었지만 각 줄의 모든 값을 개별 요소로 분리 할 수는 없었다.
죄송합니다. 끔찍한 설명이거나 (코딩에 새로운!) 달성하고자하는 것이 명확하지 않더라도 불분명 한 부분이 있는지 물어보십시오! 파일이 보이는 것을 가정
나는 이것을 제안하는 것을 당황스럽게 생각하지만 데이터는 제 3 자 numpy 라이브러리의 이점을 누릴 수있는 것처럼 들린다. 와이. 덧붙여 말하면, 2D 배열로 슬라이스하는 것은 완전히 자연스럽고 효율적입니다. 당신은 numpy 배열을 살펴보아야한다. 그것들은 (네모 모양의 네스트 된리스트를 가진 한) 데이터 -y에 매우 적합하다. –
@AndrasDeak : 오프 사이트 참조에 대한 포스터를달라고하는 포스터는 눈살을 찌푸리고 있지만 솔루션으로 제공하는 것은 잘못된 것이 아닙니다. 나는 투표했다. – Prune
@Prune thanks :) 적절한 이유가 없으면 너무 자주 제안되기 때문에 대부분은 시선을 사로 잡았습니다. 적절한 도구가 내장되어 있으면 가져 오기에 비용이 많이 드는 서드 파티 라이브러리입니다. 다른 사람들이 말했듯이 "numpy는 python의 [jquery] (http://meta.stackexchange.com/a/19492/313143)입니다." –