现在常用的处理excel的方法大多是numpy,但是之前已经习惯了用xlrd的工具,所以也记录一下祖传的excel读取/创建/写入:
1.读取excel:
import xlrd
import os
excel = input("请输入文件名格式为xls:") #文件的名称
FN = os.path.dirname(os.path.realpath(__file__)) #获取当前文件的文件路径
data = os.path.join(FN, excel) #拼接excel表格的文件路径
class RE():
def __init__(self):
self.data_address = data #excel表格的文件路径
workbook = xlrd.open_workbook(self.data_address) # 打开文件地址的表格
self.table = workbook.sheet_by_name("Sheet1") # 定位到sheet位置
def getrow(self): #获取表格的总行数
num = self.table.nrows #获取表格的总行数
return num
def getV(self,row,col): #获取固定位置的值
values = self.table.cell(row,col).value #获取指定行列的值
return values
2.创建一个excel:
# 创建一个workbook 设置编码
workbook1 = xlwt.Workbook(encoding='utf-8')
# 创建一个worksheet
worksheet1 = workbook1.add_sheet("sheet1")
# 保存
workbook1.save('result.xls' )
3.写入excel:
workbook = xlrd.open_workbook("D://1/xls") # 打开工作簿
sheets = workbook.sheet_names() # 获取工作簿中的所有表格
worksheet = workbook.sheet_by_name("sheet1") # 获取工作簿中名字为sheet1的表格
#worksheet = workbook.sheet_by_index() #获取第几个表格
# rows_ = worksheet.nrows # 获取表格中已存在的数据的行数
new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象
new_worksheet = new_workbook.get_sheet(0) # 获取转化后工作簿中的第一个表格
new_worksheet.write(0,0, "@") # 追加写入数据也可以覆盖写入,写入文件某一个单元格
new_workbook.save(exceldata) # 保存工作簿
网友评论