큰 데이터를 메모리에로드해야하며 구조가 목록입니다. 다른 접근법을 얻으려면 어떻게해야합니까? 고맙습니다파이썬을 사용하여 거대한 데이터를 메모리에로드
-4
A
답변
0
데이터가 너무 커서 컴퓨터의 메모리에 맞지 않으면 조각으로 읽어야합니다. 너무 크지 않은 경우에도이 작업을 수행하려고 할 수는 있지만 메모리 전체로 읽을 필요가있을 수 있습니다. 질문을 편집하여 요구 사항에 대해 더 자세히 설명하고 데이터의 특성이 무엇인지 알면이 질문보다 훨씬 더 유용한 대답을 얻을 수 있습니다.
2
공정 라인으로 데이터 라인, 예를 들어
for line in open("file"):
print "do processing of line:",line
아니면 정말 메모리에 하나 개의 전체 덩어리를로드하려는 경우, 당신은 메모리 매핑을 시도 할 수 있습니다.
import mmap,os,re
bigfile = open("file2")
length = os.stat(bigfile.fileno()).st_size
try:
mapping = mmap.mmap(bigfile.fileno(), length, mmap.MAP_PRIVATE, mmap.PROT_READ)
except AttributeError:
mapping = mmap.mmap(bigfile.fileno(), 0, None, mmap.ACCESS_READ)
data = mapping.read(length)
# example, finding a pattern
pat =re.compile("pattern",re.M|re.DOTALL)
print pat.findall(data)
+1
+1 메모리 매핑 –
0
이 데이터에 대한 구조는 고객 레코드의 큰 목록처럼, 거기에, 또는 이미지, 오디오 또는 비디오 데이터와 같은 하나의 큰 덩어리인가? 전자의 경우 데이터를 데이터베이스로 재구성 할 수 있습니다. sqlite는 Python 2.5와 같이 Python에 포함되어 있으며 많은 데이터 정렬 및 선별 작업에 충분합니다.
"큰"크기는 얼마입니까? 파이썬이 얼마나 많은 양의 데이터를 동시에 메모리에 저장할 수 있는지 놀랄 것입니다. 큰 데이터 목록에 대해 더 자세히 알려주세요.
관련 문제
- 1. Entlib 데이터를 메모리에로드 중
- 2. 비트 맵 데이터를 사용하여 거대한 이미지 그리기
- 3. zipcode - 파이썬을 사용하여 시간대 데이터를 얻는 방법?
- 4. 거대한 데이터를 보내는 WCF
- 5. 소켓에서 거대한 데이터를 읽고 socketchannel에 쓰는 방법
- 6. 파이썬을 사용하여 SSL 피어 확인하기
- 7. 결과 쿼리를 메모리에로드 할 수있는 방법이 있습니까?
- 8. 파이썬을 사용하여 mysql에 액세스
- 9. 주식 기호 파이썬을 사용하여
- 10. 파이썬을 사용하여 메일 읽기
- 11. 파이썬을 사용하여 웹 스크래핑하기
- 12. 파이썬을 사용하여 데이터를 덤프 할 수 없습니다 ./manage.py dumpdata app
- 13. 파이썬을 사용하여 결합 된 데이터를 반환하는 멀티 스레딩을 중지하는 방법
- 14. 파이썬을 사용하여 파일 데이터를 sqlite 데이터베이스에 삽입 할 때의 문제
- 15. 파이썬을 사용하여 tcp 패킷을 디코딩
- 16. hadoop에 거대한 파일 : 메타 데이터를 저장하는 방법?
- 17. 파이썬을 사용하여 .txt 파일에서 데이터 추출하기
- 18. 파이썬을 사용하여 웹 페이지 열기
- 19. 어떻게 파이썬을 사용하여 adblock 하시겠습니까?
- 20. 파이썬을 사용하여 wifi를 사용하는 방법?
- 21. 파이썬을 사용하여 * .aspx 콘텐츠 긁힘
- 22. 파이썬을 사용하여 mysqltable에서 문자열 검색
- 23. 파이썬을 사용하여 되풀이 날짜 생성?
- 24. 파이썬을 사용하여 목록에서 요소 결합하기
- 25. 파이썬을 사용하여 데이터베이스에 텍스트 파일로드
- 26. 파이썬을 사용하여 이미지에 텍스트 추가
- 27. 파이썬을 사용하여 Tomcat에 전쟁 전개하기
- 28. 거대한 테이블을위한 MySQL 거대한 IN 세트
- 29. 파이썬을 사용하여 텍스트 파일에 시리얼 데이터 저장
- 30. 파이썬을 사용하여 다음 행에 쓰는 방법은 무엇입니까?
답변에서 보았 듯이 추측하고 있습니다. 실제 문제를 조금 더 명확히 할 수 있다면 그것은 도움이 될 것입니다. –
로드하는 데이터의 예가 있습니까? 어떤 종류의 정보가 포함되어 있습니까? 이 질문에 대한 대답은 조금 더 쉽게 질문에 답할 수 있습니다. – iblamefish
이것은 같은 주제 인 에 몇 분 안에 물어 본 두 번째 질문입니다 : http://stackoverflow.com/questions/2396238/memory- 오류로 인해 거대한 입력 파일 크기. 해당 질문에 대한 답변이 적절하지 않은 경우 원래 질문에서 그렇게 대답해야합니다. 같은 질문에 대한 희미한 버전도 묻지 말아야합니다. –