设为首页 收藏本站
查看: 1140|回复: 0

[经验分享] Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

[复制链接]

尚未签到

发表于 2015-11-29 11:24:16 | 显示全部楼层 |阅读模式
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")  
  

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

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

  执行结果如下:
DSC0001.png
  
  
  将代码变形一下,再加上一个判断和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循环结束")
  
  

  执行结果如下:
DSC0002.png
  可以看到当循环到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的文件
DSC0003.png

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

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-144869-1-1.html 上篇帖子: Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 下篇帖子: 03 Python 基础
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表