Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
相关链接:
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
一、Why
无论做什么事,一定有个理由,所以第一步,我来简述一下Why,为什么会有这个需求。
做过游戏的朋友应该知道,游戏当中很多的数据都是通过策划配置在Excel表格中的,而为了使用excel表格中的数据,就需要把excel导出为程序可以识别的格式。
程序中用来存储数据的格式一般为Xml和Json,当然,只要你开心,你也可以用二进制或是txt存储。
无论是导出xml还是json还是其他,只要掌握了原理,导出什么都可以。由于我目前的项目是用Lua来写手机游戏,我就以导出Lua为例来讲解如何通过Python来导出Excel。
二、Python基础
Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言。
有Python基础的朋友建议跳过此小节,进入后续文章。
正是因为Python简单优雅,使用方便,因此博主选择了它作为导出Excel的语言,当然,用PHP、GO、VBA等都能优雅地完成这个需求。
如果你没有任何语言基础,建议跳过本文先去看看完整的Python中文手册
如果已经有了一定的语言基础,但并没有接触过python,那么你只需要掌握下文中列出的几条便足够实现需求了。
如果已经有了python基础,那么可以直接移步教程第二部分:Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
1.安装Python
- Windows:在Python官网下载对应的安装包,然后安装即可。
- Macos:自带2.7版本的python,so easy,
博主接下来是以基于Macos的环境实现并测试通过,windows环境并未实测。
2.HelloWorld!
- 用你的魔法在桌面上创建一个叫"
test.py"的文件 - 在文件中写上一行:
print("HelloWorld") - 打开终端键入命令:
python /Users/你的名字/Desktop/test.py - 轻敲
回车,搞定。
print("HelloWorld")
下图左侧为代码,右侧为执行结果(截图的时候不小心删掉了部分代码)。

3.几个要点
- 语句结束无需分号
- Python是用缩进来区分代码段落
(Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出) - 缩进要严格统一,不能空格和TAB混用
(如果遇到莫名其妙的编译错误,一定要检查这一条!博主就在这条上吃了亏。) - 若要在代码中直接写中文,需要加上一句
# -*- coding: UTF-8 -*- - py是弱类型语言,变量无需类型申明
4.练习一:基本语法
- int转String:
str(数字) - String转int:
int(字串) - if 语句:
if条件1:执行1elif条件2:执行2else:执行3 - for循环:
for元素in数组:执行循环else:循环结束执行 - for循环:
foriinrange(1, 20, 3):(从1到20,以3为步长进行循环) - for循环的else是可选的,如果循环未被break终止,则执行else块中的语句。
- continue和其他语言一样是跳过后面的代码,开始下一轮循环
# Author:Krisik
# 博客地址:http://www.cnblogs.com/krisirk/
# -*- coding: UTF-8 -*-
# 这句话是让你在本文件中直接写中文
for i in range(1,20,3):
if i % 2 == 0 :
print("我是偶数:" + str(i))
else:
print("我是奇数:" + str(i))
else:
print("for循环结束")
执行结果如下:

**将代码变形一下,再加上一个判断和break,看看会发生什么**
# Author:Krisik
# 博客地址:http://www.cnblogs.com/krisirk/
# -*- coding: UTF-8 -*-
# 这句话是让你在本文件中直接写中文
for i in range(1,20,3):
if i == 16 :
break
elif i % 2 == 0 :
print("我是偶数:" + str(i))
else:
print("我是奇数:" + str(i))
else:
print("for循环结束")
执行结果如下:

可以看到当循环到16,执行break以后,并没有打印19,而且else语句块也没有执行了。
5.练习二:写文件
- 需要引入库
import os - 新建或者打开文件:
file = open(路径,'w') - 向文件中写入数据:
file.write('数据')(file为上一步新建的文件) - 写入完毕,关闭文件:
file.close()
接下来我们用python在桌面创建一个test.lua的文件,然后往里面写入一个字符串
# Author:Krisik
# 博客地址:http://www.cnblogs.com/krisirk/
import os
file = open('/Users/kris/Desktop/test.lua','w')
file.write("Hello lua")
file.close()
执行过后,在桌面就会出现一个叫做test.lua的文件

6.总结
到目前为止,我们已经掌握了python的基本用法,也能够将数据写入文件,下一篇我们将会开始操作excel文件。
更多链接:
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python的更多相关文章
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- 导出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至项目所在服务器,或导 ...
- 序列化各个类型成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 ...
- POI导出excel项目(webwork)实例
后台action: public String exportExcel(){ this.setUserList(this.getUserService().findUserInfosByGroupID ...
随机推荐
- JS的Object漫想:从现象到“本质”
转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ...
- 【.net 深呼吸】自定义缓存配置(非Web项目)
在前一篇烂文中,老周简单讲述了非Web应用的缓存技术的基本用法.其实嘛,使用系统默认方案已经满足我们的需求了,不过,如果你真想自己来配置缓存,也是可以的. 缓存的自定义配置可以有两种方案,一种是用代码 ...
- 表值函数与JS中split()的联系
在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...
- 【CSS进阶】CSS 颜色体系详解
说到 CSS 颜色,相比大家都不会陌生,本文是我个人对 CSS 颜色体系的一个系统总结与学习,分享给大家. 先用一张图直观的感受一下与 CSS 颜色相关大概覆盖了哪些内容. 接下来的行文内容大概会按照 ...
- SpringMVC一路总结(三)
在博文<SpringMVC一路总结(一)>和<SpringMVC一路总结(二)>中,该框架的应用案例都是是基于xml的形式实现的.然而,对于大型项目而言,这种xml的配置会增加 ...
- Spark的DataFrame的窗口函数使用
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 SparkSQL这块儿从1.4开始支持了很多的窗口分析函数,像row_number这些,平时写程 ...
- 前端打包构建工具grunt快速入门(大篇幅完整版)
打包的目的和意义就不用叙述了直接上干货 http://www.gruntjs.net/getting-started里面的教程也太简单了,需要下一番功夫去研究才行.本文将grunt打包的常用方法都用实 ...
- 何时使用静态 API
看了<AutoMapper and the Static Class Debate>,记录一下自己的看法. 在进行API设计时,静态类的使用有时会为设计者带来一些烦恼.应该将某个函数暴露为 ...
- 《高性能javascript》 领悟随笔之-------DOM编程篇
<高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...
- 基于Metronic的Bootstrap开发框架经验总结(14)--条码和二维码的生成及打印处理
在很多项目里面,对条形码和二维码的生成和打印也是一种很常见的操作,在Web项目里面,我们可以利用JS生成条形码和二维码的组件有很多.本文引入两个比较广泛使用的JS组件,用来处理条形码和二维码的生成处理 ...