python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

xlrd和xlwt这两个库用之前需要安装:cmd -> pip install xlrd  /   cmd -> pip install xlwt

一、写Excel

1. 手动一条条的添加数据

import xlwt
book = xlwt.Workbook() #新建一个excel
sheet = book.add_sheet('sheet1') #添加一个sheet页 sheet.write(0,0,'编号') #(行,列,'输入的内容') 第一行/列是0
sheet.write(0,1,'名字')
sheet.write(0,2,'性别') sheet.write(1,0,'')
sheet.write(1,1,'马春波')
sheet.write(1,2,'男') book.save('stu.xls') #wps xls xlsx ,微软的office 需以 .xls结尾

  运行结果,生成一个Excel,显示内容如下:

  

2. 循环添加行、列

import xlwt
book = xlwt.Workbook() #新建一个excel
sheet = book.add_sheet('sheet1') #添加一个sheet页 stu_info = [
['编号','姓名','密码','性别','地址'],
[1,'machunbo','sdfsd23sdfsdf2','男','北京'],
[2,'machunbo2','sdfsd23sdfsdf2','男','北京'],
[3,'machunb3','sdfsd23sdfsdf2','男','北京'],
[4,'machunbo4','sdfsd23sdfsdf2','男','北京'],
[5,'machunbo5','sdfsd23sdfsdf2','男','北京'],
[6,'machunbo6','sdfsd23sdfsdf2','男','北京'],
[7,'machunbo6','sdfsd23sdfsdf2','男','北京'],
[8,'machunbo6','sdfsd23sdfsdf2','男','北京'],
[9,'machunbo6','sdfsd23sdfsdf2','男','北京'],
[10,'machunbo6','sdfsd23sdfsdf2','男','北京'],
[11,'machunbo6','sdfsd23sdfsdf2','男','北京'],
]#6行5列 #方法1:
row = 0 #行
for stu in stu_info:
sheet.write(row,0,stu[0])
sheet.write(row,1,stu[1])
sheet.write(row,2,stu[2])
sheet.write(row,3,stu[3])
sheet.write(row,4,stu[4])
row+=1 #方法2:
row = 0 #行
for stu in stu_info:
#stu
col = 0 # 列
# [1, 'machunbo', 'sdfsd23sdfsdf2', '男', '北京'],
for s in stu: #控制列
sheet.write(row,col,s) #0 3 男
col+=1
row+=1 #方法3:
for index,value in enumerate(stu_info):
# index 0
# value ['编号','姓名','密码','性别','地址'] #index 1
#value [1,'machunbo','sdfsd23sdfsdf2','男','北京']
for index2,v2 in enumerate(value): #enumerate同时取下标和对应的元素
print(index,index2,v2)
#0 1
#1 machunbo
#2 sdfsd23sdfsdf2
#4 北京
sheet.write(index,index2,v2) book.save('stu001.xls') #wps xls xlsx ,微软的office xls

  运行结果,生成一个Excel,显示内容如下:

  

二、 修改Excel

使用前,安装xlutils模块

import xlrd
from xlutils import copy #编写思路如下:
#1、先打开原来的excel
#2、复制一份
#3、在复制的excel上修改
#4、保存 book = xlrd.open_workbook('stu.xls')
new_book = copy.copy(book) #复制一份原excel
sheet = new_book.get_sheet(0) #修改excel的时候,得用get_sheet()
sheet.write(0,0,'id') #把第一行第一列中的数据变为id
sheet.write(0,3,'password') #第一行第四列的数据变为password
new_book.save('stu.xls') #保存

  运行结果,修改了原Excel,显示内容如下:

三、读取Excel

import xlrd
book = xlrd.open_workbook('stu3.xls')
sheet = book.sheet_by_index(0) #查看哪个sheet的数据,根据索引指定,第一个sheet,无返回值
sheet = book.sheet_by_name('sheet1')#查看哪个sheet的数据,根据sheet名称指定,无返回值
print(sheet.cell(0,0).value) #获取指定单元格的内容,单元格位置cell(行、列):id
print(sheet.cell(1,0).value) #输出1.0而不是整数1
print(sheet.row_values(0)) #获取整行的数据,返回list:['id', '姓名', '密码', 'password', '地址']
print(sheet.row_values(1)) #[1.0, 'machunbo', 'sdfsd23sdfsdf2', '男', '北京']
print(sheet.col_values(0))#获取整列的数据:['id', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0]
print(sheet.col_values(1)) print(sheet.nrows) #输出总行数:12
print(sheet.ncols) #输出总列数:5
for row in range(1,sheet.nrows): #从第一行开始取值,取到最后一行
print(sheet.row_values(row)) #输出每行的数据,每行数据都是一个list

  输出结果如下:

id
1.0
['id', '姓名', '密码', 'password', '地址']
[1.0, 'machunbo', 'sdfsd23sdfsdf2', '男', '北京']
['id', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0]
['姓名', 'machunbo', 'machunbo2', 'machunb3', 'machunbo4', 'machunbo5', 'machunbo6', 'machunbo6', 'machunbo6', 'machunbo6', 'machunbo6', 'machunbo6']
12
5
[1.0, 'machunbo', 'sdfsd23sdfsdf2', '男', '北京']
[2.0, 'machunbo2', 'sdfsd23sdfsdf2', '男', '北京']
[3.0, 'machunb3', 'sdfsd23sdfsdf2', '男', '北京']
[4.0, 'machunbo4', 'sdfsd23sdfsdf2', '男', '北京']
[5.0, 'machunbo5', 'sdfsd23sdfsdf2', '男', '北京']
[6.0, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京']
[7.0, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京']
[8.0, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京']
[9.0, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京']
[10.0, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京']
[11.0, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京']

内容补充:https://www.cnblogs.com/zhoujie/p/python18.html

python操作Excel-写/改/读的更多相关文章

  1. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  2. Python操作excel表格

    用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...

  3. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  4. 使用python操作excel表格

    首先 pip install xlrd  安装相关模块 其次:使用方法: 1 导入模块 import xlrd 2 打开excel文件读取数据 worksheet=xlrd.open_workbook ...

  5. python基础(六)python操作excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

  6. python操作excel xlrd和xlwt的使用

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  7. python 操作excel 的包 函数

    ###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...

  8. Python 操作excel day5

    一.Python操作excel python操作excel使用xlrd.xlwt和xlutils模块 1.xlrd模块是读取excel的: 2.xlwt模块是写excel的: 3.xlutils是用来 ...

  9. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  10. 自动化办公:python操作Excel

    1.安装 -- upgrade pippython -m pip install --- install pypipip install pypi 执行python setup.py install进 ...

随机推荐

  1. bzoj4036[HAOI2015]set 按位或

    Vfk的集合幂级数论文的例题….随机集合并为全集的期望集合数….这篇题解里的东西基本来自vfk的论文. 首先根据期望的线性性,我们把需要走第1步的概率(一定为1)加上需要走第2步的概率(等于走了第一步 ...

  2. 【洛谷P1903】数颜色

    题目大意:给定一个长度为 N 的序列,每个点有一个颜色.现给出 M 个操作,支持单点修改颜色和询问区间颜色数两个操作. 题解:学会了序列带修改的莫队. 莫队本身是不支持修改的.带修该莫队的本质也是对询 ...

  3. 第三篇-以LinearLayout进行Android界面设计

    一.新建一个项目 选择empty activity,此时项目里面没有main.java的文件. 二.手动创建java文件 Project那儿选择android模式,在app/java/com....一 ...

  4. c++ stl sort

    两者相等时,必须为false. 满足拟序. 群里大佬666.

  5. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:co

    在pom中加入下面代码: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId&g ...

  6. Luogu P3181 [HAOI2016]找相同字符 广义$SAM$

    题目链接 \(Click\) \(Here\) 设一个串\(s\)在\(A\)中出现\(cnt[s][1]\)次,在\(B\)中出现\(cnt[s][2]\)次,我们要求的就是: \[\sum cnt ...

  7. (set)MG loves gold hdu6019

    MG loves gold Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  8. Redis分布式锁----乐观锁的实现,以秒杀系统为例

    本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程. 乐观锁      大多数是基于数据版本(version)的记录机制实现的.即为数据增加一个版本标识,在基于数据库表的版本解决方案中, ...

  9. java语音转文字

    用到的百度提供的api 需要把wav音频文件转成16k的频率,必须转,不转百度api解析不出来.显示音频文件不清晰错误.想要转化还必须要有ffmpeg程序,这个自己百度去下载.然后拿转好的文件扔到百度 ...

  10. hdu 6383

    题意是说给定一个序列,能否通过任意次对部分数字 +1,对部分数字 -2的操作使得序列在满足全部非负且任意两元素的差值不超过1的前提下最小值最大,求最大值. 一开始的时候没有注意到整个序列全是非负数,还 ...