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初体验的更多相关文章

  1. Python导出Excel为Lua/Json/Xml实例教程(三):终极需求

    相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...

  2. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  3. 导出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& ...

  4. phpExcel导出excel加超级链接的实例代码[转]

    phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...

  5. springMVC中使用POI方式导出excel至客户端、服务器实例

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...

  6. 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)

    算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...

  7. 序列化各个类型成JSON XML实例

    LitJson组件序列化请参考http://www.cnblogs.com/leee/p/4437230.html XML序列化请参考http://www.cnblogs.com/leee/p/424 ...

  8. python 实现excel转化成json文件

    1.准备工作 python 2.7 安装 安装xlrd -- pip install xlrd 2. 直接上代码 import xlrd from collections import Ordered ...

  9. python读取excel数据为json格式(兼容xls\xlsx)

    做自动化时需要从excel读取数据: 本文实现将excel文件数据读取为json格式,方便自动化调用 读取xls文件 使用xlrd读取xls文件代码: import xlrd def read_xls ...

随机推荐

  1. Linux 服务器 安装 memcached

    linux centos 一.memcached的安装 1.下载 memcached-1.4.33.tar.gz.libevent-2.0.22-stable.tar.gz 安装 memcached ...

  2. Memcached和Redis比较

    一.存储 Memcached基本只支持简单的key-value存储方式.Redis除key-value之外,还支持list,set,sorted set,hash等数据结构:Redis支持数据的备份, ...

  3. bootstrap表格

    Bootstrap 实例 - 边框表格 < 建立日期 2015-5-27 录入人员 test1 处理人员 test2 问题报障人   部门/城市公司   联系电话   问题类型   处理状态   ...

  4. 逆向工程 - Reveal、IDA、Hopper、HTTPS抓包 等

    目录: 一. iOS 如何做才安全 二.ipa文件 三.沙盒 中的数据 四.Reveal:查看 任何APP 的UI结构 五.反编译工具:IDA 六.反编译工具:Hopper Disassembler ...

  5. 【tomcat】HTTPS访问配置 + restful调用远程HTTPS绕过验证

     单向验证: 第一步: 生成key: keytool -genkey -alias mykey -keyalg RSA -keystore d:/key/testkey keytool -export ...

  6. 设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)

    说到状态模式,如果你看过之前发布的重构系列的文章中的<代码重构(六):代码重构完整案例>这篇博客的话,那么你应该对“状态模式”并不陌生,因为我们之前使用到了状态模式进行重构.上一篇博客我们 ...

  7. 计算机程序的思维逻辑 (48) - 剖析ArrayDeque

    前面我们介绍了队列Queue的两个实现类LinkedList和PriorityQueue,LinkedList还实现了双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDequ ...

  8. git常用操作命令

    使用git进行版本控制,分为两部分: 一: 服务端 1.1 首先要申请一个git的账号,方便团队协作.推荐开源中国(www.oschina.net),相对于github来说,有两个优点:1.访问速度很 ...

  9. 网页或微信小程序中使元素占满整个屏幕高度

    在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素. 宽度很简单就是width:100% 但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情 ...

  10. 我的runloop学习笔记

    前言:公司项目终于忙的差不多了,最近比较闲,想起叶大说过的iOS面试三把刀,GCD.runtime.runloop,runtime之前已经总结过了,GCD在另一篇博客里也做了一些小总结,今天准备把ru ...