一、python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。

 二、xlrd模块,xlrd模块用来读excel,具体用法如下

            import xlrd
#打开excel
wb=xlrd.open_workbook('abc.xlsx')#打开的这个excel必须存在,否则会报错
#获取所有sheet页的名字
print(wb.sheet_names())
#按名字查找第二张表单
# sheet=wb.sheet_by_name('abc2')#根据sheet页的名字获取sheet页
sheet = wb.sheet_by_index(0)#根据sheet页的索引获取sheet页
#获取sheet页的行数和列数
print(sheet.nrows)
print(sheet.ncols)
#打印每行信息
for rownum in range(sheet.nrows): #循环取每行的数据
print(sheet.row_values(rownum))#取每行的数据
#按照索引打印对应单元格内容
cell_A2=sheet.cell(0,1).value#获取指定单元格的值,第一个值是列,第二个值是行
print(cell_A2)

三、xlwt模块,xlwt模块用来写excel,写一个新的excel

        import xlwt
title = [
'姓名','年龄','性别','分数'
]
stus = [['mary',20,'女',89.9],['mary',20,'女',89.9],['mary',20,'女',89.9],['mary',20,'女',89.9]]
#新建一个excel对象
wbk = xlwt.Workbook()
#添加一个名为 课程表的sheet页
sheet = wbk.add_sheet('stu')
for i in range(len(title)):#写入表头
sheet.write(0,i,title[i])#写入每行,第一个值是行,第二个值是列,第三个是写入的值
for i in range(len(stus)):
if i !=0:#如果不是表头的话
for j in range(4):
sheet.write(i,j,stus[i][j])#循环写入每行数据
#保存数据到‘test.xls’文件中
wbk.save('szz.xls')#保存excel必须使用后缀名是.xls的,不是能是.xlsx的

四、xlutils模块xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:

        from xlrd import open_workbook#导入xlrd模块中打开excel模块
from xlutils.copy import copy#导入xlutils模块的复制excel模块
rb = open_workbook('szz.xls')
#通过sheet_by_index()获取的sheet
rs = rb.sheet_by_index(0)
#复制一个excel
wb = copy(rb)
#通过获取到新的excel里面的sheet页
ws = wb.get_sheet(0)
ws.write(1, 0, 'Lily')#写入excel,第一个值是行,第二个值是列
wb.save('szz_new.xls')#保存新的excel,保存excel必须使用后缀名是.xls的,不是能是.xlsx的

python学习笔记(十):操作excel的更多相关文章

  1. Python学习笔记_操作Excel

    Python 操作Exel,涉及下面几个库: 1.xlrd 读取Excel文件 2.xlwt 向Excel文件写入,并设置格式 3.xlutils 一组Excel高级操作工具,需要先安装xlrd和xl ...

  2. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  3. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  4. python学习笔记7-excel操作

    一.操作excel import xlwt book = xlwt.Workbook() #新建一个excel sheet = book.add_sheet('sheet1') #添加一个sheet页 ...

  5. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  6. python学习笔记(十)、文件操作

    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...

  7. python学习笔记(十 二)、操作数据库

    每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...

  8. python学习笔记(十)完善数据库操作

    1.cur = coon.cursor(cursor=pymysql.cursors.DictCursor)的用法 建立游标,指定cursor类型返回的是字典,如果不指定类型,返回的是元组类型数据 i ...

  9. python 学习笔记(十二) 文件和序列化

    python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...

  10. python 学习笔记 redis操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

随机推荐

  1. python常用模块之shelve模块

    python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...

  2. 用两个stack实现一个队列

    class Queue { stack<int> input, output; public: void push(int x) { input.push(x); } void pop(v ...

  3. BZOJ4689 Find the Outlier 【高斯消元】*

    BZOJ4689 Find the Outlier Description Abacus教授刚刚完成了一个制作数表的计算引擎的设计.它被设计用于同时计算一个多项式在许多点的取值.例如对于多项式 f(x ...

  4. 常用的SQL语句大全

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  5. 《selenium2 python 自动化测试实战》(7)——定位一组对象

    定位一组对象 定位一组对象——find_elements_by_...(),注意,这里是elements,复数.返回的结果是一个列表,我们取值的时候就要用列表取值的方式来获得自己想要的元素.需要注意的 ...

  6. debug调试工具不显示的解决办法

    清空在runtime目录下的debug目录下的文件即可.

  7. python pandas 对各种文件的读写 IO tools

    The pandas I/O API is a set of top level reader functions accessed like pd.read_csv() that generally ...

  8. c++深拷贝/浅拷贝

    拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化.其唯一的参数(对象的引用)是不可变的(const类型).此函数经常用在函数调用时用户定义类型的值传递及返 ...

  9. python time模块 sys模块 random模块

    1,time模块 python中的内置模块 #1,显示当前时间戳 print(time.time()) #2,字符串格式化 print(time.strftime('%Y-%m-%d-%H-%M-%S ...

  10. RK3288 双屏异显时,触摸屏(USB接口)无反应

    系统版本:RK3288 android 5.1 设备同时有两个lcd,主屏是mipi接口,带有触摸屏,触摸屏是usb接口,副屏是hdmi接口,没有触摸屏,正常情况下,两个lcd显示相同内容,触摸屏一切 ...