写点东西:《python读取excel文件》

9 篇文章 0 订阅
6 篇文章 0 订阅

“复利”是世界上第八大奇迹。凡事能摸透它的人就能赚,而琢磨不透的人就会亏。
                                 ——爱因斯坦

“每天都要阅读500页。知识就是这样积累起来的,就像利息一样,越滚越多。”
                              ——股神巴菲特

 引用两位名人的名言作为开篇,从今天起坚持定期总结、记录下自己的所见所学,也分享给需要的人。


话不多说,代码如下 ↓

#--excelUtil.py 通过openpyxl库操作读取excel
import openpyxl

class excel():
    def __init__(self,file):
        self.file = file
        self.wb = openpyxl.load_workbook(self.file)
        sheets = self.wb.sheetnames
        self.sheet = sheets[0]
        self.ws = self.wb[self.sheet]
        
    #获取表格的总行数和总列数
    def getRowsClosNum(self):
        rows = self.ws.max_row
        columns = self.ws.max_column
        return rows,columns
    
    #获取某个单元格的值
    def getCellValue(self,row,column):       
        cellvalue = self.ws.cell(row=row,column=column).value
        return cellvalue
    
    #获取某列的所有值(列序号从1开始)
    def getColValues(self,column):
        columndata = getColValuesAfterRow(self,column,1)
        return columndata

    #获取某列指定行以后的所有值(列序号从1开始)
    def getColValuesAfterRow(self,column,startrow):
        rows = self.ws.max_row
        columndata=[]
        for i in range(startrow,rows+1):
            cellvalue = self.ws.cell(row=i,column=column).value
            columndata.append(cellvalue)
        return columndata
    
    #获取某行所有值
    def getRowValues(self,row):
        columns = self.ws.max_column
        rowdata=[]
        for i in range(1,columns+1):
            cellvalue = self.ws.cell(row=row,column=i).value
            rowdata.append(cellvalue)
        return rowdata
    
    #设置某个单元格的值
    def setCellValue(self,row,colunm,cellvalue):
        try:
            self.ws.cell(row=row,column=colunm).value=cellvalue
            self.wb.save(self.file)
        except:
            self.ws.cell(row=row,column=colunm).value="test"
            self.wb.save(self.file)
#使用方式
if __name__ == "__main__":
    exc = excel('xxx.xlsx')
    #获取行数和列数
    rowLen,colLen = exc.getRowsClosNum()
    #遍历所有行
    for i in range(1,rowLen):
        #获取行中所有单元格集合
        rowObj = exc.getRowValues(i)
        #获取第8列
        cell8 = rowObj[8]
        #获取第8列
        cell11 = rowObj[11]
        #以追加方式写入文件(‘a+’:追加方式)
        with open('test.txt', 'a+') as f:
                print(qdbz)
                f.write(cell8)
                f.write(cell11)

※注意

  1. openpyxl库 仅支持打开xlsx格式excel,xls的请另存为xlsx后读取。
  2. 如果使用with open('test.txt', 'a+') as f:写入文件,不能使用from openpyxl import *方式引用,否则方法冲突。

                                                                                                                                                                     时间有限,下期再见! 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MR_Bone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值