2016-08-27 4 views
-1

데이터를 읽어야하는이 거대한 Excel (xls) 파일이 있습니다. xlrd 라이브러리를 사용해 보았지만 꽤 느립니다. 그런 다음 파일을 수동으로 CSV 파일로 변환하고 CSV 파일을 읽는 것이 더 빠르게 진행된다는 것을 알게되었습니다.XLRD 대 Win32 COM 성능 비교

그러나 파일을 가져 오기 전에 을 수동으로 csv으로 저장하도록 클라이언트에 요청할 수 없습니다. 그래서 나는 그것을 읽기 전에 파일을 변환하는 것을 생각했다.

사람이되는 과정이 빠르게 어떠한 벤치 마크를 수행했습니다 다음 xlrd 라이브러리와

  • 엽니 다 Excel 파일 및 CSV 파일로 저장하거나,
  • 열고 Excel 파일 win32com 라이브러리 및 파일을 CSV 개로 저장 하시겠습니까?

것은 가장 느린 부분은 파일의 개방이기 때문에 내가 부탁하고, 그래서 win32com을 사용하는 성능 부츠를 얻을 수 있다면 나는 기꺼이 그것을 시도 할 것입니다.

+1

불행히도 소프트웨어 라이브러리에 대한 권장 사항을 묻는 질문은 주제와 관련이 없습니다. 왜 벤치마킹을 시도하지 않으시겠습니까? 모듈에 대한 구체적인 문제 해결을 수행하십시오. – Parfait

답변

0

파일을 자주 읽어야 할 경우 CSV로 저장하는 것이 더 좋습니다. 그렇지 않으면, 즉시 그것을 읽으십시오.

성능 문제 때문에 win32com보다 성능이 좋습니다. 그러나 플랫폼 간 호환성을 고려할 때 xlrd가 더 좋습니다. win32com이 더 강력합니다. 이를 통해 모든면에서 Excel을 처리 할 수 ​​있습니다 (예 : 셀 또는 범위 읽기/쓰기). 그러나 빠른 파일 변환을 원한다면 pandas.read_excel도 작동한다고 생각합니다.

다른 패키지 xlwings를 사용하고 있습니다. 그래서 나는 또한이 패키지들 사이의 비교에 관심이있다.

내 생각에 빠른 파일 변환을 위해 pandas.read_excel을 사용합니다. Excel에서 더 많은 처리를 요구하는 경우 win32com을 선택합니다.