Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
相关链接:
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
一、什么是xlrd
xlrd是python语言中读取excel的扩展工具,可以实现指定表单、指定单元格的读取。
二、安装xlrd
官网安装:到python官网http://pypi.python.org/pypi/xlrd下载模块安装,前提是已经安装了python 环境。
MacOS安装:
$ sudo pip install xlrd
三、基本用法
1.读取excel文件
workbook = xlrd.open_workbook('file.xls')
2.获取excel中表单数量
workbook.nsheets
3.获取excel中的一个表单
workbook.sheets()[i]
workbook.sheet_by_index(i)
workbook.sheet_by_name(u'Sheet1')
4.获取行数
sheet.nrows
5.获取列数
sheet.ncols
6.获取整行数据
sheet.row(i)
7.获取整列数据
sheet.col(i)
8.获取单元格数据
sheet.cell(i, j).value
知道这么多,已经足够对Excel进行基本的操作和读取了。
四、简单上手 - 遍历表中数据
1.先来创建一个Excel表名为Configs.xls,然后填上一些数据如图:

2.来段代码简单遍历并输出

3.执行$ python test.py

** 可以看到终端上已经打印出了表中的所有单元格数据 **
本段完整代码文本如下:
# -*- coding: UTF-8 -*-
# Author:Krisik
# 博客地址:http://www.cnblogs.com/krisirk/
import xlrd
workbook = xlrd.open_workbook('Configs.xls')
print "There are {} sheets in the workbook".format(workbook.nsheets)
for booksheet in workbook.sheets():
for col in xrange(booksheet.ncols):
for row in xrange(booksheet.nrows):
value = booksheet.cell(row, col).value
print value
四、更进一步 - 按需求组合数据
我们已经得到了所有单元格数据,接下来就是按照项目的需求,组合成你需要的格式的文件,无论是lua还是json还是xml,都不是问题,下面我将以导出lua为例。
1.我将以第一行为Key,列的数据为Value进行排列,代码如下:

执行$ python test.py后可以发现在同目录下创建了一个Configs.lua的文件,打开后显示:

大功告成!
完整代码文本如下:
# -*- coding: UTF-8 -*-
# Author:Krisik
# 博客地址:http://www.cnblogs.com/krisirk/
import xlrd
fileOutput = open('Configs.lua','w')
# 可以在这里写一些固定的注释代码之类的
writeData = "-- @author:kris\n\n\n"
workbook = xlrd.open_workbook('Configs.xls')
print "There are {} sheets in the workbook".format(workbook.nsheets)
for booksheet in workbook.sheets():
writeData = writeData + 'AT' + booksheet.name + ' = {\n'
for col in xrange(booksheet.ncols):
for row in xrange(booksheet.nrows):
value = booksheet.cell(row, col).value
if row == 0 :
writeData = writeData + '\t' + '["' + value + '"]' + ' = ' + '{ '
else :
writeData = writeData + '"' + str(booksheet.cell(row, col).value) + '" , '
else :
writeData = writeData + '} ,\n'
else :
writeData = writeData + '}\n\n'
else :
fileOutput.write(writeData)
fileOutput.close()
四、最后
在实际项目中无论是Excel还是导出格式都会比示例中的更复杂,但是只要掌握了基本的核心功能,剩下的无非是耐心实现罢了。
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验的更多相关文章
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- 导出Excel/Pdf/txt/json/XML/PNG/CSV/SQL/MS-Word/ Ms-Powerpoint/等通过tableExport.js插件来实现
首先去我的云盘下载需要的js: 链接:https://pan.baidu.com/s/13vC-u92ulpx3RbljsuadWw 提取码:mo8m 页面代码: <!DOCTYPE html& ...
- phpExcel导出excel加超级链接的实例代码[转]
phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...
- springMVC中使用POI方式导出excel至客户端、服务器实例
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...
- 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)
算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...
- 序列化各个类型成JSON XML实例
LitJson组件序列化请参考http://www.cnblogs.com/leee/p/4437230.html XML序列化请参考http://www.cnblogs.com/leee/p/424 ...
- python 实现excel转化成json文件
1.准备工作 python 2.7 安装 安装xlrd -- pip install xlrd 2. 直接上代码 import xlrd from collections import Ordered ...
- python读取excel数据为json格式(兼容xls\xlsx)
做自动化时需要从excel读取数据: 本文实现将excel文件数据读取为json格式,方便自动化调用 读取xls文件 使用xlrd读取xls文件代码: import xlrd def read_xls ...
随机推荐
- Linux 服务器 安装 memcached
linux centos 一.memcached的安装 1.下载 memcached-1.4.33.tar.gz.libevent-2.0.22-stable.tar.gz 安装 memcached ...
- Memcached和Redis比较
一.存储 Memcached基本只支持简单的key-value存储方式.Redis除key-value之外,还支持list,set,sorted set,hash等数据结构:Redis支持数据的备份, ...
- bootstrap表格
Bootstrap 实例 - 边框表格 < 建立日期 2015-5-27 录入人员 test1 处理人员 test2 问题报障人 部门/城市公司 联系电话 问题类型 处理状态 ...
- 逆向工程 - Reveal、IDA、Hopper、HTTPS抓包 等
目录: 一. iOS 如何做才安全 二.ipa文件 三.沙盒 中的数据 四.Reveal:查看 任何APP 的UI结构 五.反编译工具:IDA 六.反编译工具:Hopper Disassembler ...
- 【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证
单向验证: 第一步: 生成key: keytool -genkey -alias mykey -keyalg RSA -keystore d:/key/testkey keytool -export ...
- 设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)
说到状态模式,如果你看过之前发布的重构系列的文章中的<代码重构(六):代码重构完整案例>这篇博客的话,那么你应该对“状态模式”并不陌生,因为我们之前使用到了状态模式进行重构.上一篇博客我们 ...
- 计算机程序的思维逻辑 (48) - 剖析ArrayDeque
前面我们介绍了队列Queue的两个实现类LinkedList和PriorityQueue,LinkedList还实现了双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDequ ...
- git常用操作命令
使用git进行版本控制,分为两部分: 一: 服务端 1.1 首先要申请一个git的账号,方便团队协作.推荐开源中国(www.oschina.net),相对于github来说,有两个优点:1.访问速度很 ...
- 网页或微信小程序中使元素占满整个屏幕高度
在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素. 宽度很简单就是width:100% 但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情 ...
- 我的runloop学习笔记
前言:公司项目终于忙的差不多了,最近比较闲,想起叶大说过的iOS面试三把刀,GCD.runtime.runloop,runtime之前已经总结过了,GCD在另一篇博客里也做了一些小总结,今天准备把ru ...