zoukankan      html  css  js  c++  java
  • 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等都能优雅地完成这个需求。

    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")
        
    

    下图左侧为代码,右侧为执行结果(截图的时候不小心删掉了部分代码)。

    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循环结束")
        
    

    执行结果如下:

    p2


    **将代码变形一下,再加上一个判断和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循环结束")
        
    

    执行结果如下:

    p211

    可以看到当循环到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的文件

    p211

    6.总结

    到目前为止,我们已经掌握了python的基本用法,也能够将数据写入文件,下一篇我们将会开始操作excel文件。

    更多链接:

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    如果有任何疑问或是建议,欢迎给我留言!


    作者:Krisirk

    出处:http://www.cnblogs.com/krisirk

    所有文章若非标注转载,均为原创,文中观点仅代表作者个人。

    原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    Delphi 窗体失踪在最上面的代码
    Delphi 目前使用delay函数功能
    Delphi Delay 延时计数的功能。 下面的方法都是思路,但是没有用在项目上
    Delphi 通过SQLite3, SQLiteTable3 操作数据库
    解决sqlite删除数据后,文件大小不变问题 转载
    delphi执行cmd命令和bat文件
    Delphi 获取sqlite中所有的表名
    delphi 获取USB口拔出和插入的状态
    深度揭密轮播插件核心代码的实现过程
    flowJS源码个人分析
  • 原文地址:https://www.cnblogs.com/krisirk/p/4946093.html
Copyright © 2011-2022 走看看