python 读写 excel有很多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库是xlrd/xlwt、openpyxl。
之所以推荐这两个库是因为这两个库分别操作的是不同版本的excel,xlrd操作的是xls/xlxs格式的excel,openpyxl只支持xlxs格式的excel,openpyxl使用起来更方便一些。
安装
pip install openpyxl
如果excel里面有图片(jpeg,png,bmp,......)需要安装图片处理模块
pip install pillow
excel写
fromopenpyxl import Workbook
wb= Workbook()
创建一个新的工作簿
ws1 = wb.create_sheet("Mysheet") #默认最后一个
ws1.sheet_properties.tabColor="0000FF" #修改工作表标签颜色
ws2= wb.create_sheet("Mysheet", 0) #第一个
ws3 = wb.get_sheet_by_name('Sheet')
ws3.title = "Test"
拷贝模板做新表
ws3 = wb.copy_worksheet(wb['Sheet1'])
保存
wb.save('balances.xlsx')
修改工作簿的名称
ws.title = "New Title"
获取所有工作簿名称
print(wb.sheetnames)
获取其中一个工作簿名称
for sheet inwb:
print(sheet)
wb["New Title"] #直接获取名称为New Title的工作薄
删除工作表
wb.remove_sheet(wb.get_sheet_by_name(“中文表名”))
wb.remove_sheet(ws2)
excel写数据
ws['A4']=4#这将返回A4处的单元格,如果尚不存在,则创建一个单元格。值可以直接分配
ws.cell(row=4, column=2, value=10) # 也可以通过cell来进行写入,通过行数和列数来找到单元格所在的位置,通过value来赋值
ws.cell(row=3, column=2).value = "AAAAA"
excel读
fromopenpyxl import load_workbook #导入模块
wb= load_workbook(filename = 'balances.xlsx') #打开文件,默认可读写,若有需要可以指定write_only和read_only为True
sheet= wb['test2'] #找到工作表
print(sheet['B4'].value) #输出内容
# B9处写入平均值
sheet['B9'] = '