↑↑↑ 点击上方公众号名称关注,为您送上一次次闪光。
编者悟语:开始的时候,对一件事好恶的停留,往往需要的只是人阶段性的理由,转变一个视角,调整一个时间,那感受也许就不再相同了。
今天带大家学习一下用python中库模块操作execl的过程,今天的内容算是入门级的主要介绍了这些库模块及其中的一些函数,实现了数据的读与写,后面会逐步深入带大家去修改excel,去批量处理excel,敬请期待吧!
1 Excel文件操作所需支持库
Excel操作常用的三个库。
1)读取库——xlrd
读取excel文件需要安装的库。
2)写入库——xlwt
向excel写入数据需要安装的库,可以设置格式。
3)高级操作库——xlutils
此库是excel操作的一组高级工具的集合。
安装此库前需要先安装读取库和写入库,因为此库依赖于这两个库。
2 安装库文件
库文件安装用pip install 库名即可。
win + R 打开windows终端,输入如下命令即可。
pip install xlrd
pip install xlwt
pip install xlutils
终端截图如下:
图中浅绿色字体是提醒升级pip版本,因为不影响使用就不升级了,Python中红色字体才是需要解决的报错,安装过程中很可能会遇到报错,此时很可能是依赖问题,根据提示去解决去搜索即可。
3 xlrd库中的函数xls = xlrd.open_workbook('./excel_test.xls')
1)工作表相关函数
① 获取工作表
xls_sheet = xls.sheets()
② 按索引顺序获取工作表
xls_sheet = xls.sheet_by_index(sheet_index))
③ 按名称获取工作表
xls_sheet = xls.sheet_by_name(sheet_name)
④ 返回所有工作表的名字
names = xls.sheet_names()
⑤ 检查指定sheet是否导入完毕
xls.sheet_loaded(sheet_name/index)
2)行操作相关
① 获取此sheet的行数
rows = xls_sheet.nrows
② 返回此行中所有对象组成的列表
xls_sheet.row(rowx)
③ 返回此列中所有对象的一个切片组成的列表
xls_sheet.row_slice(rowx)
④ 返回此行中所有数据类型组成的列表
xls_sheet.row_types(rowx, start_colx=0, end_colx=None)
⑤ 返回此行中所有数据值组成的列表
xls_sheet.row_values(rowx, start_colx=0, end_colx=None)
⑥ 返回此列的单元格长度
xls_sheet.row_len(rowx)
3)列操作相关
① 获取sheet的列数
cols = xls_sheet.ncols
② 返回此列中所有对象组成的列表
xls_sheet.col(colx, start_rowx=0, end_rowx=None)
③ 返回此列中所有对象的一个切片组成的列表
xls_sheet.col_slice(colx, start_rowx=0, end_rowx=None)
④ 返回此列中所有数据类型组成的列表
xls_sheet.col_types(colx, start_rowx=0, end_rowx=None)
⑤ 返回此列中所有数据组成的列表
xls_sheet.col_values(colx, start_rowx=0, end_rowx=None)
4)单元格相关
① 返回单元格对象
xls_sheet.cell(rowx,colx)
② 返回单元格数据类型
xls_sheet.cell_type(rowx,colx)
③ 返回单元格数据
xls_sheet.cell_value(rowx,colx)
④ 调整单元格大小
xls_sheet.cell_xf_index(rowx, colx)
4 xlwt库中的函数
xlwt库中的函数比xlrd的函数要多很多,因为写操作设计修改、删除、调整等的内容,比读实现的功能要多得多。下面只介绍几个常用的,其他的大家用到再扩展吧。
1)创建工作簿和工作表
# 创建一个工作簿sheet = xlwt.Workbook()
# 创建工作表new_sheet = sheet.add_sheet('名称', cell_overwrite_ok=True)
工作簿类似工作空间,工作表为实际excel中的sheet。 2)写函数 第一个参数表示行,第二个参数表示列,第三个表示数据new_sheet.write(0, 1, 3)
上面调用为在第一行,第二列处写入3。
5 实例演示
1)打开excel,读取sheet名称
import xlrdxlsfile = xlrd.open_workbook('./excel_test.xls')for xls in xlsfile.sheets(): print(xls.name)
读取结果如下:
2)读取excel表格中的数据
import xlrd#打开excelxls = xlrd.open_workbook('./excel_test.xls',encoding_override="utf-8")#获取excel的sheet工作表xls_sheet = xls.sheets()#存放sheet名xls_name = []#遍历sheetfor sheet in xls_sheet: xls_name.append(sheet.name) print("\nThis Excel has {0} sheets, This sheet is: {1},The sheet has {2} rows,{3} cols".format(len(xls_sheet),sheet.name,sheet.nrows,sheet.ncols)) print("\n") #打印各列信息 for cols in range(sheet.ncols): print("The is col %s" % cols,type(cols)) print(sheet.col_values(cols),type(sheet.col_values(cols))) print("\n")
运行结果如下:
3)写数据到excel
# -*-coding:utf-8-*-import xlrdimport xlwt # 创建一个工作簿sheet = xlwt.Workbook() # 创建工作表new_sheet = sheet.add_sheet('星期', cell_overwrite_ok=True) # 行数据row1 = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六","星期日"]# 列数据col1 = ["3", "2", "4","5","2", "4","5"]col2 = ["2", "1", "3","4","1", "3","4"]col3 = ["3", "2", "4","4","2", "4","4"]col4 = ["3", "1", "5","1","1", "5","1"]col5 = ["5", "3", "4","5","3", "4","5"]col6 = ["2", "1", "3","4","1", "3","4"]col7 = ["3", "2", "4","5","2", "4","5"]# 生成第一行for i in range(0, len(row1)): # 第一个参数表示的是行,第二个参数表示的列,第三个表示的是数据 new_sheet.write(0, i, row1[i]) for j in range(0, len(col1)): new_sheet.write(i + 1, 0, col1[j]) for i in range(0, len(col2)): new_sheet.write(i + 1, 1, col2[i]) for i in range(0, len(col3)): new_sheet.write(i + 1, 2, col3[i]) for i in range(0, len(col1)): new_sheet.write(i + 1, 3, col4[i]) for i in range(0, len(col2)): new_sheet.write(i + 1, 4, col5[i]) for i in range(0, len(col3)): new_sheet.write(i + 1, 5, col6[i]) for i in range(0, len(col3)): new_sheet.write(i + 1, 6, col7[i]) # 保存表格 sheet.save('write_test.xls')
运行结果:
将python脚本转换为exe可执行文件
Python操作CSV文件中的数据
同时运行多个python脚本
python开篇——经验总结之你可能会入的那些坑
Python奇淫巧技(一)——发送免费短信(也能打免费电话)
关注微信公众号【嵌入式杂牌军】,会为您送上阵阵清爽的风。
长按上图二维码关注公众号