当前位置: 首页 > news >正文

python操作excel

windows需要安装xlrd库,
安装命令 pip install xlrd
MAC安装http://www.mamicode.com/info-detail-1758614.html(如果安装报错可使用sudo模式)
如果还没有,可以这么安装:

搜索想要的插件安装就可以了。

 


import xlrd, xlwt, xlutils
############ 读excel ###############
book = xlrd.open_workbook('C:\\Users\lingyul\Desktop\students.xlsx')#打开excel
print(book.sheet_names())#获取所有sheet页的名字
sheet1 = book.sheet_by_index(0)##根据sheet页的下标获取sheet页
sheet2 = book.sheet_by_name('students')#根据sheet页的名字获取sheet页
print(sheet1,sheet2)
print('row_all',sheet1.nrows)#获取所有行数
print('ncols_all',sheet1.ncols)#获取所有列数
print(sheet1.row_values(0))#根据行号打印某一行
sheet1.row_values(0)[0]#第0行的第0个元素
print(sheet1.col_values(0))#根据列号打印某一列
sheet1.col_values(0)[0]#第0列的第0个元素
print('####',sheet1.cell(2,2).value)#不加value的运行结果为:text:'小明'。打印第二行第二列的数据,即获取单元格数据
lis=[]
sheet1 = book.sheet_by_index(0)
ncols_all = sheet1.ncols
for row in range(1,sheet1.nrows):
students = {}
id = sheet1.cell(row, 0).value
name = sheet1.cell(row, 1).value
sex = sheet1.cell(row, 2).value
students['id']=id
students['name']=name
students['sex']=sex
lis.append(students)
print(lis)

############ 写excel ###############
import xlwt
book = xlwt.Workbook()#新建一个excel对象
sheet = book.add_sheet('stu')# 新建一个sheet
# sheet.write(0,0,'编号')
# book.save('stu.xls')
## 写 excel,时候,保存的文件必须以xls结尾
title = ['编号', '姓名', '性别']
stus = [['mary',20,'女',89.9],['mary',20,'女',89.9],['mary',20,'女',89.9],['mary',20,'女',89.9]]
for i in range(len(title)):
sheet.write(0,i,title[i])
for row in range(len(lis)):
new_row=row+1
id = lis[row]['id']
name = lis[row]['name']
sex = lis[row]['sex']
sheet.write(new_row,0,id)
sheet.write(new_row, 1, name)
sheet.write(new_row, 2, sex)
book.save('stu.xls')

import xlrd
from xlutils.copy import copy
def copy():
book = xlrd.open_workbook('new_stu.xls')
new_book = copy(book)#通过xlutils里面的copy复制一个excel对象
sheet = new_book.get_sheet(0)#获取sheet页
sheet.write(0,0,'id')
new_book.save('new_stu_1.xls')

json_list= {
"1":["小花",99,100,98.5],
"2":["小王",90,30.5,95],
"3":["小明",67.5,49.6,88]
}
title = ['学号','姓名','语文成绩','数学成绩','英语成绩','总分','平均分']

book = xlrd.open_workbook('new_stu.xls')
new_book = copy(book) # 通过xlutils里面的copy复制一个excel对象
sheet = new_book.get_sheet(0) # 获取sheet页
sheet.write(0, 0, 'id')
new_book.save('new_stu_1.xls')

转载于:https://www.cnblogs.com/yuer011/p/7106331.html

相关文章:

  • 一行命令搞定node.js升级
  • 仿射梯度
  • Snapchat发布不到2个月的故事搜索功能,又双叒被Instagram抄袭了
  • 中芯国际第三财季净利润1.136亿美元
  • Jmeter常用函数之__CSVRead使用
  • 苹果计划在英国建立新总部 位于巴特西发电站旧址
  • 保监会:大数据改变保险运作模式
  • 分布式光伏渐入理想状态?
  • 提高人民媒介素养,加强网络安全建设
  • 大力发展互联网经济积极推进智慧城市建设
  • Teradata扩展数据湖搭建能力
  • 大数据:新动力 新机遇 新途径
  • D1net阅闻:比上周更可怕的勒索病毒入侵电脑
  • 扎克伯格用胶带遮住笔记本摄像头 FBI局长也是这么做的
  • 车联网是中国移动重点发展的物联网垂直领域
  • JS 中的深拷贝与浅拷贝
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • canvas 高仿 Apple Watch 表盘
  • Javascripit类型转换比较那点事儿,双等号(==)
  • javascript面向对象之创建对象
  • JDK 6和JDK 7中的substring()方法
  • JS+CSS实现数字滚动
  • magento 货币换算
  • Object.assign方法不能实现深复制
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Spring Boot快速入门(一):Hello Spring Boot
  • swift基础之_对象 实例方法 对象方法。
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 程序员最讨厌的9句话,你可有补充?
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 分享一份非常强势的Android面试题
  • 基于webpack 的 vue 多页架构
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 区块链技术特点之去中心化特性
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 手写双向链表LinkedList的几个常用功能
  • # centos7下FFmpeg环境部署记录
  • #NOIP 2014# day.2 T2 寻找道路
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • %check_box% in rails :coditions={:has_many , :through}
  • (js)循环条件满足时终止循环
  • (poj1.3.2)1791(构造法模拟)
  • (多级缓存)多级缓存
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (一)Linux+Windows下安装ffmpeg
  • (转)我也是一只IT小小鸟
  • ***测试-HTTP方法
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 简单实现MD5
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET6 命令行启动及发布单个Exe文件
  • .NET上SQLite的连接