一、Python操作excel

  python操作excel使用xlrd、xlwt和xlutils模块

  1、xlrd模块是读取excel的;

  2、xlwt模块是写excel的;

  3、xlutils是用来修改excel的;

二、前置条件:

  使用pip install安装各模块

  pip install xlrd

  pip install xlwt

  pip install xlutils

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

import xlrd
#此模块只能读不能写
book = xlrd.open_workbook(r'/Users/smh/Desktop/名单.xlsx')
sheet1 = book.sheet_by_index(0)#用下标取sheet
sheet2 = book.sheet_by_name('作业')#用名字取sheet
print('第一行内容',sheet2.row_values(0))#row_values()取某一行的数据
print('第一列内容',sheet2.col_values(0))#col_values()取某一列的数据
print('第二行第一列内容',sheet2.cell(1,0).value)#取指定单元格的内容
print('一共有%s行'%sheet2.nrows)#多少行
print('一共有%s列'%sheet2.ncols)#多少列 

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

import xlwt
#将列表list1写入到excel中
book = xlwt.Workbook() list1=[
[1,'xiaohei','beijing','','女'],
[2,'xiaobai','shanghai','','男'],
[3,'xiaolan','chengdu','','女'],
] a= list1[0]
len(a)#每一个列的元素长度
len(list1)#列表长度
#第一种方法:
sheet = book.add_sheet('no.1 sheet') for i in range(len(list1)):
for j in range(len(list1[0])):
print(list1[i][j])
sheet.write(i,j,list1[i][j]) book.save(r'/Users/smh/Desktop/test1.xlsx')
#第二种方法:(从第二行开始写入)
row = 1 #行号 for row_data in list1:
col = 0
for col_data in row_data:
sheet.write(row,col,col_data)
col += 1#写完一列,列号加1
row += 1#写完一行,行号加1 book.save('test2.xls') #第三种方法,使用枚举函数:(从第二行开始写入)
for row,row_data in enumerate(list1,1):
for col,col_data in enumerate(row_data):
sheet.write(row,col,col_data)
book.save('test3.xls')

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

import xlrd
from xlutils import copy #与import xlutils的区别:调用xlutils里的方法则不需要xlutils.copy.copy()方法,直接调用copy.copy()
#from xlutils.copy import copy 调用直接copy()
#1、打开一个excel
#2、复制一份
#3、修改 book = xlrd.open_workbook('test2.xls')
new_book = copy.copy(book)#复制一份 #print(dir(new_book))
sheet = new_book.get_sheet(0)#获取sheet页
title = ['编号','名字','地址','电话','性别']
for col,t in enumerate(title):
sheet.write(0,col,t)
new_book.save('test2.xls')
 

Python 操作excel day5的更多相关文章

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

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

  2. Python操作Excel

    一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...

  3. Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...

  4. Python操作excel表格

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

  5. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  6. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

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

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

  8. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  9. Python 操作Excel之通过xlutils实现在保留原格式的情况下追加写入数据

    在Python操作Excel 的模块有 xlrd.xlwt.xlutils等. xlrd:读取Excel文件数据 xlwt:写入Excel 数据,缺点是Excel格式无法复用,为了方便用户,写入的话, ...

随机推荐

  1. solr入门之solr的拼写检查功能的应用级别尝试

    今天主要是收集了些拼写检查方面的资料和 尝试使用一下拼写检查的功能--=遇到了不少问题 拼写检查的四种配置眼下我仅仅算是成功了半个吧 --------------------------------- ...

  2. 用递归将嵌套的JSON对象遍历出来,转为二维数组

    如题所示,代码如下: var arJsonNesting = [{id:1,name:"zhang3" ,children:[{id:2,name:"zhang33&qu ...

  3. 【bzoj1452】[JSOI2009]Count

    二维树状数组 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ...

  4. FFmpeg将多张图片合成视频 子视频合并

    FFmpeg将多张图片合成视频 - CSDN博客 https://blog.csdn.net/wangshuainan/article/details/77914508 Slideshow – FFm ...

  5. createTextNode和innerHTML什么区别

    今天写代码,用到createTextNode,发现好像功能和innerHTML是一样的,于是查阅了网上的资料了. 一.createTextNode 例如: var element = document ...

  6. Android编译详解之lunch命令 【转】

    本文转载自: Android编译详解之lunch命令 (2012-10-08 10:27:55) 转载▼ 标签: it 分类: android内核剖析     Android的优势就在于其开源,手机和 ...

  7. HDU 4070 + 赤裸裸的贪心~~

    J - Phage War Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Phage ...

  8. luence全文检索(简介)

    刚开始做全文检索也是找了很多资料但是网上的都不是很齐全luence是个很不多的工具 Lucene4.0的官网文档:http://lucene.apache.org/core/4_0_0/core/ov ...

  9. oracle从子表取出前几行数据:

    取排序后的前几行,应该用: select * from(select * from test order by stamp desc) where rownum<= 6  (表示排序后取前几行) ...

  10. ubuntu/linuxmint更换163源及常用软件PPA源记录

    一.163源使用说明 (具体见:http://mirrors.163.com/,不推荐linuxmint更换源!!!) 以Wily(15.10)为例, 编辑/etc/apt/sources.list文 ...