Python 操作excel day5
一、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的更多相关文章
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- Python操作Excel
一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...
- Python操作excel(xlrd和xlwt)
Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...
- Python操作excel表格
用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- Python 操作Excel之通过xlutils实现在保留原格式的情况下追加写入数据
在Python操作Excel 的模块有 xlrd.xlwt.xlutils等. xlrd:读取Excel文件数据 xlwt:写入Excel 数据,缺点是Excel格式无法复用,为了方便用户,写入的话, ...
随机推荐
- linux switch_root
1 命令格式 switch_root newroot init 跳转到另外一个文件系统,并且把newroot作为新的mount tree,并且执行init程序. 2 特殊要求 newroot必须是一个 ...
- SpringMVC_RESTRUL_CRUD
编写POJO Departmet: package org.springmvc.curd.entity; public class Department { private int id; priva ...
- core.async中go的作用研究
(defmacro go "Asynchronously executes the body, returning immediately to the calling thread. Ad ...
- SGU 145
节点不可重复经过的K短路问题. 思路:二分路径长度,深搜小于等于路径长度的路径数.可以利用可重复点K短路问题中的A*函数进行剪枝. 尝试另一种解法:把可重复点K短路A*直接搬过来,堆中的每个元素额外记 ...
- luogu 3951 小凯的疑惑
noip2017 D1T1 小凯的疑惑 某zz选手没有看出这道结论题,同时写出了exgcd却不会用,只能打一个哈希表骗了30分 题目大意: 两个互质的正整数a和b,求一个最小的正整数使这个数无法表示为 ...
- [2017SEERC]Divide and Conquer
https://www.zybuluo.com/ysner/note/1308834 题面 一个有\(n\)个点的图,上面有有两棵不同的生成树.问至少切断几条边,可以使原图不联通.并输出方案数. \( ...
- POJ1584 A Round Peg in a Ground Hole 凸包判断 圆和凸包的关系
POJ1584 题意:给定n条边首尾相连对应的n个点 判断构成的图形是不是凸多边形 然后给一个圆 判断圆是否完全在凸包内(相切也算) 思路:首先运用叉积判断凸多边形 相邻三条边叉积符号相异则必有凹陷 ...
- bzoj1050
最小生成树 其实这道题是最小生成树的变种,我们发现答案不一定在最小/最大生成树上,最短路算法也不可行,因为我们我们并不是希望最小值尽量的大,最大值尽量的小,这样不一定是最优的,那么我们枚举最小的边,然 ...
- bzoj4818
http://www.lydsy.com/JudgeOnline/problem.php?id=4818 矩阵快速幂+dp 首先我们来写一个dp dp[i][j]:选到第i个数,和为j,复杂度nm,不 ...
- 10.16NOIP模拟赛
/* 我是一个大sb */ #include<iostream> #include<cstdio> #include<cstring> #include<qu ...