python 读写 Excel

希望在不改变Excel格式情况下更新Excel内容,试过好几种库,都需要复制出sheet,但是都没有样式,非常麻烦,后来找了个方法,可以直接打开Excel进行操作,而且是实时更新的,代码也算是非常精简了。
用到两个库:xlrd、xlwings

一、读取Excel:

def readExceltoData(self,fileUrl:str):
      #读取Excel文件并转换成分组后的list。
    data = xlrd.open_workbook(fileUrl)
    table = data.sheet_by_index(0)
    rows=table.nrows #返回总行数
    cols=table.ncols #返回总列数
    r=0
    reData=[]   #要返回的数组
    while rows > r:
        rowData = table.row_values(r)   #返回指定行的整条数据
        reData.append(rowData)
        r +=1
    return reData

二、更新Excel:

  def updateExcelFile(self,id ,reality,fileUrl):
    # 找到指定id,更新其中指定列的数据
    try:
        workbook = xlwings.Book(fileUrl)  # 连接excel文件
        sht=workbook.sheets('Sheet1')
        rows=sht.api.UsedRange.Rows  
        rowN=rows.count #返回sheet有数据的行数
        r = 0
        while r <= rowN:
            r+=1
            if sht.range('A'+str(r)).value == id:
                sht.range('H' + str(r)).value=str(reality)          
                break
        workbook.save()
        return 'OK'
    except:
        return "文件保存出错!"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。