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

python xlsx读写_Python Excel文件的读写操作(xlwt xlrd xlsxwriter)

Python语法简洁清晰,作为工作中常用的开发语言还是很强大的(废话)。

python关于Excel的操作提供了xlwt和xlrd两个的包作为针对Excel通用操作的支持,跨平台(Mac、Windows均可)。

xlrdxlrd目前支持读写xlsx(2007版)与xls(2003版),简单的说明如下:

import xlrd

def open_excel(file=‘test.xls‘):

try:

data = xlrd.open_workbook(file)

# 通过索引获取工作表

sheet1 = data.sheets()[0]

# 通过名称获取工作表

sheet1 = data.sheet_by_name(u‘sheet1‘)

# 获取table对象,根据table进行该工作表相关数据的读取

# 获取行列

row = sheet1.nrows

col = sheet1.ncols

# 获取单元格的值

cell_value = sheet1.cell(0, 1).value

# 行列表数据

for i in range(row):

print sheet1.row_values(i)

# 数据写入

# 单元格类型 0 empty,1 string, 2 number, 3 datetime, 4 boolean, 5 error

# xf 扩展格式化

xf = 0

row_num = 1

col_num = 1

cell_type = 1

sheet1.put_cell(row_num, col_num, cell_type, u‘hello word‘, xf)

return data

except Exception, e:

print str(e)

xlwt则支持写出2003版xls的包,具体操作如示例如下:

import xlwt

def write_excel2():

# 设置通用样式变量

style_header = xlwt.easyxf(u‘font: name 微软雅黑, color-index black, bold on,height 240‘)

workbook = xlwt.Workbook()

worksheet = workbook.add_sheet(u‘sheet1‘)

# 设置第一列到单元格的宽度

worksheet.col(0).width = 256 * 35

# 设置该工作表单元格的宽度

c = 1

while c < 300:

worksheet.col(c).width = 256 * 20

c += 1

col = 0

# 循环设置表头值

header = [u‘姓名‘, u‘性别‘, u‘年龄‘]

for h in header:

worksheet.write(0, col, h, style_header)

col += 1

# 保存到本地目录,mac上后缀xlsx会报错,xls正常。

workbook.save(‘test.xls‘)

xlsxwriter支持2007版的写出

import xlsxwriter #导入模块

workbook = xlsxwriter.Workbook(‘new_excel.xlsx‘) #新建excel表

worksheet = workbook.add_worksheet(‘sheet1‘) #新建sheet(sheet的名称为"sheet1")

headings = [‘Number‘,‘testA‘,‘testB‘] #设置表头

data = [

[‘2017-9-1‘,‘2017-9-2‘,‘2017-9-3‘,‘2017-9-4‘,‘2017-9-5‘,‘2017-9-6‘],

[10,40,50,20,10,50],

[30,60,70,50,40,30],

] #自己造的数据

worksheet.write_row(‘A1‘,headings)

worksheet.write_column(‘A2‘,data[0])

worksheet.write_column(‘B2‘,data[1])

worksheet.write_column(‘C2‘,data[2]) #将数据插入到表格中

workbook.close() #将excel文件保存关闭,如果没有这一行运行代码会报错

原文:https://www.cnblogs.com/zwp-627/p/11740636.html

相关文章:

  • python 折线图标签_matplotlib 曲线图 和 折线图 plt.plot()实例
  • matlab eig函数_心心念念的matlab基础及入门来啦!
  • python与html结合_Python在字符串中处理html和xml的方法
  • 怎么下载安装python_【转】如何下载安装python
  • eclipse maven打包jar_Maven 异常信息:jar包缺失或损坏,导致编译、打包错误
  • python indexerror_Python 未超索引情况下 显示 IndexError
  • calendar round_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID
  • 新代系统plc梯形图说明书_PLC现场实例电气原理图及编程
  • python注释是什么意思_python注释是什么意思
  • 如何和后台接触的_民熔小课堂|跌落式熔断器该如何检修?点进来告诉你答案!...
  • python rgb库_Python实现RGB与HSI颜色空间的互换方式
  • python删除对象引用_Python:删除自引用对象
  • 如何使用python脚本下载git代码_如何使用python代码操作git代码
  • es数据迁移_MySQL用得好好的,为什么要转ES?
  • python变量通过变量名访问_python – 将变量作为模块中的字符串进行访问
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript对象详解
  • leetcode386. Lexicographical Numbers
  • leetcode98. Validate Binary Search Tree
  • Linux中的硬链接与软链接
  • Python学习笔记 字符串拼接
  • spring学习第二天
  • Vue 2.3、2.4 知识点小结
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • Zsh 开发指南(第十四篇 文件读写)
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 那些年我们用过的显示性能指标
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 什么软件可以剪辑音乐?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 数据结构java版之冒泡排序及优化
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 从如何停掉 Promise 链说起
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #100天计划# 2013年9月29日
  • #13 yum、编译安装与sed命令的使用
  • #includecmath
  • (3)选择元素——(17)练习(Exercises)
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (一)RocketMQ初步认识
  • (一)u-boot-nand.bin的下载
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .Net 路由处理厉害了
  • .NET6 命令行启动及发布单个Exe文件
  • @Resource和@Autowired的区别
  • [BUG] Authentication Error
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [C#]winform部署yolov5-onnx模型