“复利”是世界上第八大奇迹。凡事能摸透它的人就能赚,而琢磨不透的人就会亏。
——爱因斯坦“每天都要阅读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)
※注意:
- openpyxl库 仅支持打开xlsx格式excel,xls的请另存为xlsx后读取。
- 如果使用with open('test.txt', 'a+') as f:写入文件,不能使用from openpyxl import *方式引用,否则方法冲突。
时间有限,下期再见!