python3.7에서 여러 excel 표의 데이터를 코드로 병합합니다

9681 단어
의심할 여지없이 현재 인터넷에python으로 Excel 표를 조작하는 예가 매우 많지만python의 업데이트가 매우 빠르고 일부 라이브러리도 따라서 새로워지기 때문에 이전에 발표된 일부 코드는 더 이상 사용할 수 없게 되었다.
python 3.7에서는 열기가 지원되지 않습니다.xls 파일입니다. 하지만 2020년 3월 27일까지 인터넷 관련 조작 코드는python으로 열려 있습니다.xls 파일의 예입니다.여기서 excel 표를 어떻게 코드로 조작하는지 간단하게 요약합니다. 여러 표의 모든 데이터를 새 표에 통합합니다.

관련 버전


python 버전: 3.7.0 xlrd 라이브러리: 1.2.0 xlsxwriter 라이브러리: 1.1.0

세부 코드

import xlrd
import xlsxwriter

#  Excel  
def open_xlsx(file):
    try:
        fh = xlrd.open_workbook(file)
        return fh
    except exception as err:
        print(str("error open:" + e))

#  sheet 
def getsheet(fh):
    return fh.sheets()

#  sheet     
def getnrows(fh, sheet):
    table = fh.sheets()[sheet]
    content = table.nrows
    return content

#            
def getFilect(file, shnum):
    fh = open_xlsx(file)
    table = fh.sheets()[shnum]
    num = table.nrows
    for row in range(num):
        rdata = table.row_values(row)
        datavalue.append(rdata)
    return datavalue

#  sheet   
def getshnum(fh):
    x = 0
    sh = getsheet(fh)
    for sheet in sh:
        x += 1
    return x

#   
if __name__ == '__main__':
    allxlsx = ['E:/python/edit/program/sudoku/try01.xlsx',
               'E:/python/edit/program/sudoku/try02.xlsx']
    datavalue = []
    for fl in allxlsx:
        fh = open_xlsx(fl)
        x = getshnum(fh)
        for shnum in range(x):
            print("      :" + str(fl) + "  " + str(shnum) + " sheet    .....")
            rvalue = getFilect(fl, shnum)

    endfile = 'E:/python/edit/program/sudoku/test01.xlsx'
    wb1 = xlsxwriter.Workbook(endfile)
    ws = wb1.add_worksheet()
    for a in range(len(rvalue)):
        for b in range(len(rvalue[a])):
            c = rvalue[a][b]
            ws.write(a, b, c)
    wb1.close()
    print("      ")


일반적인 상황에서 상기 코드를 실행하면 실현할 수 있지만 블로거가 실행할 때 xlrd와 xlsxwrier 라이브러리를 찾을 수 없는 문제가 발생했습니다.상기 두 개의 라이브러리를 검사하고 설치한 후에도 문제가 해결되지 않았습니다. 이 때 이 두 라이브러리의 위치를 찾아야 합니다. 그 다음에 이python 스크립트를 실행하는 같은 파일 프레임에 복사해서 실행하면 됩니다.
본문 참조:https://blog.csdn.net/d1240673769/article/details/74513206

좋은 웹페이지 즐겨찾기