一、文件读取
python办公自动化,会用到xlrd库,所以需要先安装xlrd库。
import xlrd wb=xlrd.open_workbook('招生表.xls') # 读取工作簿 ws=wb.sheets() # 文件sheets包含项,列表式的键值对 print(ws) wsname=wb.sheet_names() # 列表式工作簿下的所有工作表对象 print(wsname) ws1=wb.sheet_by_name('中山分校') # 按指定名称读取工作表对象-方法1 print(ws1) ws2=wb.sheet_by_index(0) # 按指定名称读取工作表对象-方法2 print(ws2) ws3=wb.sheets()[0] # 按指定名称读取工作表对象-方法3 print(ws3.name)
二、行列单元格读取
import xlrd ws=xlrd.open_workbook('招生表.xls').sheet_by_name('中山分校') # 获取工作表对象 crow=ws.nrows # 获取行号 print(crow) ccol=ws.ncols # 获取列号 print(ccol) row_data=ws.row_values(3) # 获取指定行数据 print(row_data) col_data=ws.col_values(1) # 获取指定列数据 print(col_data) cell_data_1=ws.cell_value(2,1) # 获取单元格数据 print(cell_data_1) cell_data_2=ws.cell(1,3).value # 获取单元格书籍 print(cell_data_2)
数据共计:44行4列;其中第4行(起始为0,所以3即为第4行)数据信息;第2列(起始为0,所以1即为第2列)数据信息;第3行2列数据;第2列4行数据。
根据上述数据读取方式,在需要进行多单元格数据读取时,即可以采用行、列指定范围后嵌套遍历即可完成需求数据读取。
三、文件保存
同样的,读取办公文件用到了xlrd库,那么写入即保存需要用到xlwt库,所以首先需要安装xlwt库。
import xlwt nwb=xlwt.Workbook(encoding='utf-8') # 新建工作簿 nws=nwb.add_sheet('成绩表') # 添加工作簿,命名为‘成绩表’ nws.write(1,2,'Hello!Excel我来了!') # 写入单元格,向2行3列单元格写入数据 nwb.save('成绩单.xls') # 保存工作薄
四、修改excel信息
同样的,修改信息同样也是有一个库方法,即xlutils库。
import xlrd from xlutils.copy import copy wb=xlrd.open_workbook('招生表.xls') print(wb) nwb=copy(wb) print(nwb) nws1=nwb.add_sheet('上海分校') # 添加工作簿,命名为"上海分校" nws2=nwb.get_sheet(1) # 获取第2个工作簿 nws3=nwb.get_sheet('黄河分校') # 获取"黄河分校"工作簿 nws3.write(5,7,'我来也') # 在"黄河分校"的第6行8列单元格写入"我来也" nws1.write(0,0,'上海上海') # 在新建的"上海分校"工作簿的第1行1列单元格写入“上海上海 nwb.save('招生表.xls')
五、openpyxl库
1. Excel的新建、读取、保存
import openpyxl wb=openpyxl.Workbook() # 新建Excel wb.save('我的工作簿.xlsx') # 保存 import openpyxl wb=openpyxl.load_workbook('我的工作簿.xlsx') # 读取 wb.save('我的工作簿-1.xlsx') # 保存 import openpyxl for m in range(1,13): # 循环新建Excel保存 wb=openpyxl.Workbook() wb.save('%d月.xlsx'%m) # 保存
2. 工作表的获取方法
import openpyxl wb=openpyxl.load_workbook('各年业绩表.xlsx') ws1=wb.active#获取活动工作表 ws2=wb.worksheets[2]#以索引值方式获取工作表 ws3=wb['2012年']#以工作表名获取 # for sh in wb.worksheets: # print(sh) # print(wb.sheetnames) wb.worksheets[1].title='demo' # 修改第2个sheet的工作簿名为“demo” wb.save('各年业绩表-1.xlsx') import openpyxl wb=openpyxl.load_workbook('各年业绩表.xlsx') for sh in wb.worksheets: sh.title=sh.title+'-芝华公司' wb.save('各年业绩表(修改后).xlsx')
3. 工作表的新建、复制、删除
import openpyxl wb=openpyxl.Workbook() wb.create_sheet() wb.create_sheet() wb.create_sheet() # 共计创建了3个工作表 wb.save('demo1.xlsx') wb=openpyxl.load_workbook('demo2.xlsx') wb.create_sheet('工资表',2) wb.save('demo2.xlsx') wb=openpyxl.load_workbook('demo3.xlsx') wb.copy_worksheet(wb['工资表']).title='工资表1月' # copy工作表并命名为“工作表1月” wb.save('demo3-1.xlsx') import openpyxl wb=openpyxl.load_workbook('demo3-1.xlsx') wb.remove(wb['工资表']) # 删除了“工资表”工作表 wb.save('demo3-1.xlsx')
load_woekbook(read_only=False, guess_types=False, data_only=False) 包含3个选择参数:
read_only:False表示可读、可写;True表示只读、不能写;
guess_types:False表示转换数据;True表示不能转换数据;
data_only:False表示序单元格的真实信息;True表示只读取值。
标签:xlsx,读取,sheet,wb,Excel,openpyxl,print,import,0001 From: https://www.cnblogs.com/lxinghua/p/17474926.html