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文件。
