먼저 xlrd 모듈을 설치 : xlrd를 설치 PIP, 여기에 주로 발생하는 실제 문제에 대한 몇 가지 개인 정보를 처리, 많은 온라인 핵심 코드가있다
도 1을 참조하면, 데이터가 빈 행과 열을 판독 사양 데이터의 존재를 초래하지 않는 탁월한;
2 파라미터 SQL 수행
참조 아래 코드 :
. 1 임포트 xlrd 2 . 3 오기 구성 AS AppSetting.AppConfig를 . 4 오기 AppSetting.dbConfig AS DB . 5 . 6 #의 처리가 설치 모듈 xlrd의 PIP xlrd 종속 엑셀 . 7 . 8 #는 엑셀 파일 읽기 . 9 excel_data = xlrd.open_workbook (config.file_path) 10 # 오기 제 시트 P . 11 매 = excel_data.sheet_by_index (0) (12)는 # 전체 행 (13)은 로우 = sheet.nrows 14 # 종종 빈 공백 열 또는 행, 엑셀이 판독 될 수있다 구 컬럼 (단에 따라 데이터의 첫번째 행 데이터 열의 수 가져올) 획득 15 rowlsts의 =를 [I위한 I 에서 sheet.row_values (0) IF I! = ' ] (16) 커서 = db.connect.cursor () . 17 #은 변수를 정의 N, n이 0 = 파라미터 SQL 조립시 (18)는 N = 0 . 19 SQL = " " 20 # 첫 번째 행의 필드 이름에 저장된 엑셀 때문에이 두 번째 행에서 취득 된 데이터 (21)가 대해 I 의 범위 (1. 행) (22)는 은 try : 23 인 아이템 = sheet.row_values (I) : LEN (rowlsts은 )] 24 데이터 = ' 25 # 조립 파라 SQL은, 스플 라이스 자리의 S %의에 의해 얻어진 26이다 위한J 의 범위 (0, 렌 (rowlsts)) : 27 개 데이터 + = " %의 S, " 28 개 데이터 = data.rstrip ( " , " ) (29) 의 경우 N 개의 == 0 : 30 = SQL " co_zfxx 삽입 (%의 S) 값 (%의 (S)) " % (str.join ( ' , ' , rowlsts) 데이터) 31 cursor.execute (SQL, 튜플 (제품)) 32 다른 : 33 cursor.execute (SQL, 튜플 (제품)) 34 35 제외 예와 같은 예외 : 36 인쇄 (예) 37 38 마지막 : 39 N + 1 = 40 (41) db.connect.commit () 42 cursor.close () 43 db.connect.close ()
테스트 실행 데이터 5w (26 개 필드), 22S의 실행 시간