python3 xls操作

类别:信息技术 作者:ATScore 发布日期:2022年1月14日

使用xlrd模块

打开,关闭,遍历

import xlrd
w = xlrd.open_workbook(file)
sheet_list = data.sheet_names()
for table in sheet_list:
    for i in range(table.nrows):
        for j in range(table.ncols):
            print(table.cell(i,j).value)

xlsx转换为xls

使用excel程序做转换,会弹出提示,需要手工点确认。

import win32
import xlrd
def transform(parent_path,out_path):
    '''
    将目录下所有xlsx文件转换为xls
    '''
    fileList = os.listdir(parent_path)
    num = len(fileList)
    for i in range(num):
        #文件和格式分开
        file_Name = os.path.splitext(fileList[i])  
        if file_Name[0][0]!='~' and file_Name[1] == '.xlsx':
            transfile1 = parent_path+'/'+fileList[i]
            transfile2 = out_path+'/'+file_Name[0] excel=win32.gencache.EnsureDispatch('excel.application')
            pro=excel.Workbooks.Open(transfile1)
            transfile2 = transfile2.replace("/","\\")
            pro.SaveAs(transfile2+".xls", FileFormat=56)
            pro.Close()
            excel.Application.Quit()
            #删除原xlsx文件,不建议做
            #print("remove", parent_path+"/"+file_Name[0]+".xlsx")
            #os.remove(parent_path+"/"+file_Name[0]+".xlsx")

单元格读取、单元格合并

xlrd里将excel的合并单元格放到了一个list里,逐个取其坐标做分析判断。 以后碰到了再贴。