2014-02-10 1 views
7

팬더에서 사용하기 위해 변환하려는 여러 개의 대형 (> 10GB) SAS 데이터 세트가 있습니다 (HDF5가 바람직 함). 여러 데이터 유형 (날짜, 숫자, 텍스트)이 있고 일부 숫자 필드에는 누락 값 (예 : .E, .C 등의 값이있을 수 있음)에 대한 다른 오류 코드가 있습니다. 열 이름을 유지하려고합니다. 레이블 메타 데이터도 포함됩니다. 누구든지 효율적인 방법을 찾았습니까?대형 SAS 데이터 세트를 hdf5로 변환

둘 사이의 다리로 MySQL을 사용해 보았습니다. 전송할 때 범위를 벗어난 오류가 발생했습니다. 또한 전송 속도가 매우 느립니다. 또한 SAS에서 Stata .dta 형식으로 내보내기를 시도했지만 SAS (9.3)는 pandas의 read_stat()와 호환되지 않는 이전 Stata 형식으로 내 보냅니다. 또한 sas7bdat 패키지를 시도했지만 설명에서 광범위하게 테스트되지 않았으므로 데이터 세트를 다른 방식으로로드하고 결과를 비교하여 모든 것이 제대로 작동하는지 확인합니다.

추가 세부 정보 : 변환하려는 데이터 세트는 WRDS의 CRSP, Compustat, IBES 및 TFN의 데이터 세트입니다.

답변

1

나는 과거에는 이것에별로 행운이 없었습니다. (우리가 일하는) 우리는 SAS와 Python 사이의 전송을 위해 Tab으로 구분 된 파일을 사용합니다. 우리는 그것을 많이합니다.

즉, Windows 사용자는 ODBC 연결을 설정하고 그 방법으로 파일을 쓸 수 있습니다.

+1

일부 종류의 csv/구분 파일을 사용하는 것이 가장 좋은 방법 일 수 있습니다. SAS는 상호 운용성을 막는데 큰 관심을 가지고 있으므로 효율적이고 효율적인 전송 방법을 선호하지 않습니다. 상업용 제품이지만이 프로그램을 사용하는 사람들의 좋은 보고서를 보았습니다. https://www.stattransfer.com/stattransfer/formats.html – thelatemail