저는 Python 2.7에 openpyxl을 사용하여 기존 .xlsx 파일을 열고 수정합니다. 이 Excel 파일에는 약 2,500 개의 열과 단 10 개의 행이 있습니다. 문제는 openpyxl이 파일을로드하는 데 오랜 시간이 걸렸습니다 (거의 1 분). 어쨌든 openpyxl의 로딩 프로세스 속도를 높일 수 있습니까? 다른 스레드에서는 read_only 및 write_only와 함께 몇 가지 팁을 발견했습니다. 그러나 나는 동시에 읽고 능숙하게 작성해야하므로이 팁을 적용 할 수 없습니다. 누구든지 제안을해야합니까? 대단히 감사합니다 당신에게Openpyxl 기존 Excel로드에 너무 오래 걸림
답변
난 당신이 Excel 파일로 무엇을해야하는지 모르겠지만, 내가 팬더 DataFrame로 .xmls 파일을 열어보십시오 것이다 :
import pandas as pd
df = pd.ExcelFile('file path')
팬더 엑셀 지원은 xlrd가 지원하는 것으로 제한되며 이는 파일 형식의 하위 집합입니다. –
열기 위해 팬더를 사용하는 것이 더 빠르지 만 개봉 후에는 모든 셀 (셀 단위로)을 읽고 severals 셀 (blockwise 또는 columnwise가 아닌)에 대한 의견을 작성해야합니다. 팬더와 함께 할 수 있습니까? – leanh2
내가 뭘해야 할 것은 파이썬을 사용하여입니다 Excel 파일 (2k 열 이상, 약 2.5MB)을 열고 Excel의 값을 severals .xml 파일의 값과 비교하십시오. 차이점은 Excel에서 주석으로 작성됩니다. excel에는 텍스트, 숫자 및 일부 형식 (셀 배경색) 만 있습니다. Openpyxl의 로딩 속도를 향상시키는 지 여부에 관계없이 모든 형식을 제거하려고 시도 할 것입니다.
나는 파이썬에서 간단한 측정을했다. xlrd로이 엑셀 파일을 열 때 openpyxl을 사용하여 22.5 초가 걸렸습니다. openpyxl이 너무 느립니다. – leanh2
- 1. 렌더링보기가 너무 오래 걸림
- 2. mpirun 실행에 너무 오래 걸림
- 3. 페이지로드 시간이 너무 오래 걸림
- 4. 스프링 배치가 너무 오래 걸림
- 5. 앱로드 시간이 너무 오래 걸림
- 6. SQL 실행에 너무 오래 걸림
- 7. : app : transformClassesAndResourcesWithProguardForRelease가 너무 오래 걸림
- 8. 액세스 쿼리가 너무 오래 걸림
- 9. BeginSend가 콜백까지 너무 오래 걸림
- 10. 스플래시 화면이 너무 오래 걸림
- 11. 대칭 DS가 DataExtractorService에서 너무 오래 걸림
- 12. Google App Engine Datastore 업로드 시간이 너무 오래 걸림. 너무 오래 걸림.
- 13. MySQL 테이블 만들기가 너무 오래 걸림
- 14. JSP 페이지를로드하는 데 너무 오래 걸림
- 15. MySQL 쿼리를로드하는 데 너무 오래 걸림
- 16. WorkitemStore 가져 오기가 너무 오래 걸림
- 17. Alljoyn에서 장치를 검색하는 데 너무 오래 걸림
- 18. postgresql 데이터베이스 삽입이 너무 오래 걸림
- 19. 파이썬 합계와 for 루프가 너무 오래 걸림
- 20. SSRS PDF 내보내기가 너무 오래 걸림
- 21. Neo4j를 통한 그래프 작성이 너무 오래 걸림
- 22. VBA 매크로를 실행하는 데 너무 오래 걸림
- 23. 각도 2 polyfills 초기화가 너무 오래 걸림
- 24. Minify_YUICompressor :: minifyCss가 magento에서로드하는 데 너무 오래 걸림.
- 25. Mnesia RPC 호출 시간이 너무 오래 걸림
- 26. Android Studio가 빌드하는 데 너무 오래 걸림
- 27. 오라클 선택 쿼리가 너무 오래 걸림
- 28. Android 코드 설정 배경이 너무 오래 걸림
- 29. RichTextBox의 강조 표시가 너무 오래 걸림
- 30. mysql 쿼리를 실행하는 데 너무 오래 걸림
실제로는 다른 파일 형식에 따라 달라질 수 있습니다. 25000 셀은 매우 빠르게로드되어야하지만로드 된 다른 항목이 파일에있을 수 있습니다. –