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. golang的安装

    整理了一下,网上关于golang的安装有三种方式(注明一下,我的环境为CentOS-6.x, 64bit) 方式一:yum安装(最简单) rpm -Uvh http://dl.fedoraprojec ...

  2. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  3. Vertica环境安装R-Lang包提示缺少libgfortran.so.1

    环境:RHEL 6.4 + Vertica 7.0.0-11.最终确认安装compat-libgfortran-41-4.1.2-39.el6.x86_64.rpm即可解决. # rpm -ivh v ...

  4. Nginx与tomcat组合的简单使用

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中瓦片资源越来越多,如果提高瓦片的访问效率是一个需要解决的 ...

  5. 从游戏脚本语言说起,剖析Mono所搭建的脚本基础

    0x00 前言 在日常的工作中,我偶尔能遇到这样的问题:“为何游戏脚本在现在的游戏开发中变得不可或缺?”.那么这周我就写篇文章从游戏脚本聊起,分析一下游戏脚本因何出现,而mono又能提供怎样的脚本基础 ...

  6. [Ant]Ant简易教程

    前言 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. Ant是纯Java语言编写的,所以具有 ...

  7. 通过NPOI操作Excel

    最近在做的一个项目中需要生成Excel,通过学习使用NPOI实现了相关需求,写了一个简便操作的类,记录如下: public class NPOIHelperForExcel { #region exc ...

  8. 自己手写的自动完成js类

    在web开发中,为了提高用户体验,会经常用到输入框的自动完成功能,不仅帮助用户进行快速输入,最重要的是帮助那些“记不全要输入什么”的用户进行选择.这个功能有很多插件已经实现了,为了适应项目的特殊需求, ...

  9. html+ccs3太阳系行星运转动画之土星有个环,地球有颗小卫星

    在上一篇<html+ccs3太阳系行星运转动画>中实现了太阳系八大行星的基本运转动画. 太阳系又何止这些内容,为丰富一下动画,接下来增加“土星环”和“月球”来充盈太阳系动画. 下面是充盈后 ...

  10. android

    配置Activity 的启动模式: 在 AndroidManifest.xml 中配置: <activity android:name=".MainActivity" and ...