많은 변수가 들어있는 텍스트 파일에 열 구분 데이터가 있습니다. 원래 파일은 Fortran에서 작성되었습니다. 각 행의 값 수는 고정되어 있습니다 (예 : 8). 예를 들어 "-0.213897E-05"값은 같은 행에 다른 7 개의 값이 있습니다. 빈 칸은 "+ ve 기호"를 의미합니다. 이러한 행은 8 개이지만 값의 총 수는 62와 64 사이가 될 수 있습니다. 그런 다음 약 1000 개의 변수가 있습니다.파이썬에서 열로 구분 된 텍스트 데이터를 빠르게 읽음
파일에서 한 변수의 예는 다음과 같습니다.
-0.213897E-05 0.106493E-06-0.530198E-08 0.263970E-09-0.131423E-10 0.654316E-12-0.325765E-13 0.162189E-14
-0.427794E-05 0.212986E-06-0.106040E-07 0.527940E-09-0.262846E-10 0.130863E-11-0.651530E-13 0.324377E-14
-0.641691E-05 0.319479E-06-0.159059E-07 0.791910E-09-0.394269E-10 0.196295E-11-0.977294E-13 0.486566E-14
-0.855588E-05 0.425972E-06-0.212079E-07 0.105588E-08-0.525692E-10 0.261726E-11-0.130306E-12 0.648755E-14
-0.106949E-04 0.532465E-06-0.265099E-07 0.131985E-08-0.657114E-10 0.327158E-11-0.162882E-12 0.810944E-14
-0.128338E-04 0.638958E-06-0.318119E-07 0.158382E-08-0.788537E-10 0.392590E-11-0.195459E-12 0.973132E-14
-0.149728E-04 0.745452E-06-0.371138E-07 0.184779E-08-0.919960E-10 0.458021E-11-0.228035E-12 0.113532E-13
-0.171118E-04 0.851945E-06-0.424158E-07 0.211176E-08-0.105138E-09
readlines()를 사용하여 파일을 성공적으로 읽은 다음 문자열을 실수로 변환했지만 결과가 느리고 시간이 오래 걸립니다. 나는 또한 느린 FortranFormat을 시도했다. 파일의 전체 크기는 약 2GB입니다.
이 값을 읽을 수있는 방법을 제안하십시오. 파일에 약 1000 개의 변수가 있습니다.
이 당신을 위해 정규식을 사용하는 것입니다 물건의 종류이다. –
@EdwardL. 나는 데이터 구조가 알려져 있기 때문에 정규 표현식이 가장 뛰어난 접근법이 될지 의심 스럽다. – jonrsharpe
@EdwardL. U는 문자열로 값을 읽어야하고 문자열에 정규 표현식을 사용한다는 의미인가요? 내가하는 것처럼 readlines를 사용하는 것만 큼 느리지는 않습니까? 기본적으로 문자열이 아닌 수레로 읽으 려합니다. –