Mathematica에서 느린 로딩을 구현해야합니다. 나는 600 MB CSV 텍스트 파일을 처리해야합니다. 이 파일은 중복 기록이 많이 포함되어 메모리에 그들 모두를로드하는 그래서 그 대신큰 텍스트 파일 처리
1;0;0;13;6
1;0;0;13;6
..........
2;0;0;13;6
2;0;0;13;6
..........
etc.
를, 나는 기록이 레코드가 파일에 발생 된 횟수를 포함하는 목록을 만들려면 :
{{10000,{1,0,0,13,6}}, {20000,{2,0,0,13,6}}, ...}
가져 오기 기능으로 할 수있는 방법을 찾을 수 없습니다. myProcessingFunction 한 번에 하나 개의 레코드를 가지고 데이터 집합을 생성합니다 어디
Import["my_file.csv", "CSV", myProcessingFunction]
처럼 뭔가를 찾고 있어요. Import 나 다른 Mathematica 함수로 이것을 할 수 있습니까?
모르는 경우가 있는데이를 런 길이 인코딩이라고합니다. Mathematica 알고리즘을 구현하기위한 몇 가지 깔끔한 알고리즘이 있습니다. –
@Tim Kemp : 알고리즘을 실행하기 전에 데이터를 먼저로드해야합니다. 데이터의 크기로 인해 데이터가 한 번에로드되지 않습니다. 내 질문은 레코드를 그룹화하는 방법보다는 한 줄씩 데이터를로드하는 방법에 관한 것입니다. 또한 RLE 알고리즘은 일련의 레코드를 보존합니다. 나는 이것을 필요로하지 않는다. 나는 카운트 만 필요로한다. 예를 들어, RLE가 3A, 4B, 4A가 된 후에 AAABBBBAAAA. 7A, 4B가 필요해. – Max