programing

Excel 파일을 numpy 2D 어레이에 로드

easyjava 2023. 6. 8. 22:43
반응형

Excel 파일을 numpy 2D 어레이에 로드

Excel 파일을 Numpy 배열에 직접 로드하는 더 쉬운 방법이 있습니까?

나는 그것을 보았습니다.numpy.genfromtxtnumpy 문서에서 자동 로드 기능을 사용하지만 엑셀 파일을 직접 로드하지는 않습니다.

array = np.genfromtxt("Stats.xlsx")
ValueError: Some errors were detected !
Line #3 (got 2 columns instead of 1)
Line #5 (got 5 columns instead of 1)
......

지금은 사용 중입니다.openpyxl.reader.excelExcel 파일을 읽은 다음 numpy 2D 배열에 추가합니다.이것은 비효율적인 것 같습니다.이상적으로 나는 numpy 2D 어레이에 직접 로드된 우수한 파일을 원합니다.

솔직히, 이질적인 데이터로 작업하는 경우(스프레드시트에 포함될 가능성이 높기 때문에) 를 사용하는 것이 사용하는 것보다 더 나은 선택입니다.numpy직접적으로.

하는 동안에pandas어떤 의미에서는 그저 numpy 주변의 포장지일 뿐이며, 이질적인 데이터를 매우 잘 처리합니다. (그 외에도 많은 것들이 있습니다."스프레드시트와 같은" 데이터의 경우, 파이썬 세계의 골드 표준입니다.)

만약 당신이 그 길을 가기로 결정했다면, 그냥 이용하세요.

xlrd 라이브러리를 사용하여 수행할 수 있습니다.우리는 판다 전체를 수입할 필요가 없습니다.

다음은 링크에서 가져온 유틸리티 기능입니다.

def read_excel(excel_path, sheet_no = 0):
    book = xlrd.open_workbook(excel_path)
    sheet = book.sheet_by_index(sheet_no)
    return numpy.array([list(map(lambda x : x.value, sheet.row(i))) for i in range(sheet.nrows)])

이것이 판다를 피하고 싶어하는 다른 사람들이 뛰어난 책을 읽는 데 도움이 되기를 바랍니다.

나에게 이 대안은 1초 더 느렸습니다.pandas.read_excel(...).to_numpy()14,000개의 레코드를 가진 엑셀을 위하여.

언급URL : https://stackoverflow.com/questions/17052991/load-excel-file-into-numpy-2d-array

반응형