python操作excel_Python操作excel文件——基础篇

     ↑↑↑ 点击上方公众号名称关注,为您送上一次次闪光。

3179b1b0df8d31d25a5899749349e6bd.png

编者悟语:开始的时候,对一件事好恶的停留,往往需要的只是人阶段性的理由,转变一个视角,调整一个时间,那感受也许就不再相同了。

今天带大家学习一下用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

终端截图如下:

     18dc63b1f73d2490e5e40b57c61bcdb4.png

图中浅绿色字体是提醒升级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)

读取结果如下:

      2b634c7cfea13a3f71d04637aca3e118.png

    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")

运行结果如下:

     69272caf3b55312c8c40702882407ac1.png

    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')

运行结果:

0bcea7635cd1653575899d6ff8a39670.png

6 总结 今天给大家介绍了用python库模块中的函数对excel文件进行读写的实现过程,内容是入门级的,其中xlutils功能更强大些,xlwt只能实现创建并写入excel,如果需要修改现有的excel就得 用xlutils了, 后面我们会继续深入,敬请期待吧! 相关文章:

将python脚本转换为exe可执行文件

Python操作CSV文件中的数据

同时运行多个python脚本

python开篇——经验总结之你可能会入的那些坑

Python奇淫巧技(一)——发送免费短信(也能打免费电话)

关注微信公众号【嵌入式杂牌军】,会为您送上阵阵清爽的风。

945462e5b4802e51326b4e0dc494d1bc.png

长按上图二维码关注公众号

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值