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等都能优雅地完成这个需求。

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 : 执行1 elif 条件2: 执行2 else: 执行3
  • for循环:for 元素 in 数组 : 执行循环 else: 循环结束执行
  • for循环:for i in range(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的更多相关文章

  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实例教程(二):xlrd初体验

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

  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. 序列化各个类型成JSON XML实例

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

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

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

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

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

  9. POI导出excel项目(webwork)实例

    后台action: public String exportExcel(){ this.setUserList(this.getUserService().findUserInfosByGroupID ...

随机推荐

  1. Entity Framework 6 Recipes 2nd Edition(11-1)译 -> 从“模型定义”函数返回一个标量值

    第11章函数 函数提供了一个有力代码复用机制, 并且让你的代码保持简洁和易懂. 它们同样也是EF运行时能利用的数据库层代码.函数有几类: Rowset Functions, 聚合函数, Ranking ...

  2. IOC框架

    一. IOC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机 ...

  3. 架构设计:负载均衡层设计方案(3)——Nginx进阶

    版权声明:欢迎转载,但是看在我辛勤劳动的份上,请注明来源:http://blog.csdn.net/yinwenjie(未经允许严禁用于商业用途!) 目录(?)[-] Nginx继续进阶 1gzip ...

  4. JavaScript权威设计--JavaScript类型,值,变量(简要学习笔记三)

    1.负号是一元求反运算 如果直接给数字直接量前面添加负号可以得到他们的负值     2.JavaScript中的运算超出了最大能表示的值不会报错,会显示Infinity. 超出最小也不报错,会显示-I ...

  5. 1. 使用Filter 作为控制器

    最近整理一下学习笔记,并且准备放到自己的博客上.也顺便把Struts2 复习一遍 1. MVC 设计模式概览 实现 MVC(Model.View.Controller) 模式的应用程序由 3 大部分构 ...

  6. TortoiseGIT创建及合并分支

    一.创建分支 项目右键 => TortoiseGit(T) => 创建分支,然后右键切换到刚刚创建的分支,新增/修改一个文件,提交分支到远端服务器,推送成功之后分支就创建好了. 二.合并分 ...

  7. PHP的学习--在Atom中使用XDebug(Mac)

    之前写过一篇博客<PHP的学习--在sublime中使用XDebug(Ubuntu)>,讲了在Ubuntu系统 sublime 中配置 XDebug,其实配置好之后,我也很少用,原因有两点 ...

  8. jvm系列(六):jvm调优-从eclipse开始

    jvm调优-从eclipse开始 概述 什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配.回收的情况来调整各区域内存比例或者gc回收的策略:更深一层就是根据dump出来的内存结构和线程 ...

  9. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  10. mailto实现将用户在网页中输入的内容传递到本地邮件客户端

    背景: 想在自己的网站中有这样一个设计: 用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样: mailto可以帮助实现这个功能. 简介: mail ...