나는 다음과 같은 희소 데이터의 179기가바이트 있습니다는 위도 긴 범위에 따라 행과 필터에서 읽을 CSV DictReader을 사용
id lat long var1 var2 var3
1 52.1 0.07 A
2 58.3 5.78 C
3 46.5 -8.32 E
나는 데이터를 읽고 싶어하고, 필터 그 정도 특정 사이에만 행 위도가 긴 좌표가 유지됩니다. 이 reprex에서 위도의 예 범위는 59.0-51.0이며, 경도의 범위는 -1.0 지금까지이 모두를 CSV DICT 리더와 작동하지 않는 DICT 이해입니다
6.0 :
Unorderedable 유형 :with open("test_data.csv", 'r', encoding="Latin-1") as f:
reader = csv.DictReader(f)
rows = [row for row in reader if row['lat'] >= 51.0 if row['lat'] <= 59.0 if row['long'] >= -1.0 if row['long'] <= 6.0]
print(rows)
가 현재 나는 형식 오류 얻을 STR을()> = INT() DictReader 문자열로 물건을 제공, 그들은 정수 값이 될 필요가 있기 때문에 아마이다. int()를 dict comprehension에 삽입하는 방법을 잘 모르겠습니다.
궁극적으로, 나는 다음과 같은 데이터를 선택 출력을 싶습니다 : 내가 나중에 다시 CSV에 데이터를 쓰는 원하는
id lat long var1 var2 var3
1 52.1 0.07 A
2 58.3 5.78 C
내가, 사전의 형식에 대한 용납입니다. 메모리 문제가 발생하지 않는 한
당신이 "작동하지 않습니다"말할 때 당신은 무엇을 의미합니까? – asongtoruin
나는 DictReader이 문자열로의 제공으로 내가하는 int에 위도 갈망을 변환 할 필요가 있기 때문에 생각합니다. –
나는 그것이 작동하지 않는다는 것을 의미하지 않는다. 나는 그것이 작동하지 않는다는 것을 의미한다. 오류가 있습니까? 출력이 올바르지 않습니까? 무슨 일이 일어나고있어 "일하지 않는다"고 생각하니? – asongtoruin