青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網游開發(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 662250
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統C++網絡庫
asio 成為C++首選網絡庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11074)
2.?SVN中邪惡的replace(11000)
3.?VS2005編譯libevent(10456)
4.?混音算法的學習與研究(10258)
5.?C調用lua腳本的效率測試(9025)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優于指針(17)
5.?ACE與ASIO之間關于Socket編程的比較(16)
xlsx批量轉為utf8的csv
xlsx批量轉為utf8的csv
(金慶的專欄)
策劃的配置表為 xlsx 表格,可以有注釋,公式。
服務器和客戶端使用的配置文件需要轉成 csv 文件。
使用 WPS 另存無法批量轉換,并且結果不是utf8編碼的,還需要用Notepad++轉編碼。
除了 xlsx 轉為 csv, 其他格式文件保持原樣,如 *.ini, *.xml, *.lua.
server/ 子目錄特殊處理,不能復制到客戶端。
用python腳本實現,依賴 openpyxl 庫。
#!/usr/bin/env python
# coding: utf-8
# datatab.py
# 從策劃配置表目錄 game\Design\配置表\”
# 生成服務器的 game\Program\server\six\datatab\” 目錄,
# 和客戶端的 game\Program\client\Assets\Config\” 目錄。
# 所有xlsx文件生成csv文件,其他文件原樣復制。
# 其中 server\ 目錄特殊處理,僅對服務器有效,客戶端跳過。
#
# 依賴openpyxl庫:http://openpyxl.readthedocs.org/en/latest/
# 參考代碼 http://segmentfault.com/q/1010000003006437?_ea=273128
# 測試環境:Python3.4
# Usage: datatab.py <game dir>
# Example: datatab.py "d:\game"
# <game dir> 是根目錄,包含Design/, Program/ 目錄。
from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
import csv
import os
import sys
import shutil
def xlsx2csv(filename):
# try:
xlsx_file_reader = load_workbook(filename = filename, data_only = True)
for sheet in xlsx_file_reader.get_sheet_names():
# 僅第1個sheet輸出到一個csv文件中,文件名后綴替換為.csv
csv_filename = os.path.splitext(filename)[0] + '.csv'
csv_file = open(csv_filename, 'w', encoding='utf8', newline='')
csv_file_writer = csv.writer(csv_file)
sheet_ranges = xlsx_file_reader[sheet]
for row in sheet_ranges.rows:
row_container = []
for cell in row:
row_container.append(cell.value)
csv_file_writer.writerow(row_container)
# End of for row.
csv_file.close()
break # 僅輸出第1個sheet
# End of for sheet.
# End of try.
# except Exception as e:
# print(e)
# End of xlsx2csv().
def datatab_convert(game_dir):
'''從 game\Design\配置表\ 輸出到
game\Program\server\six\datatab\
game\Program\client\Assets\Config\
'''
design_dir = os.path.join(game_dir, 'Design/配置表/')
server_dir = os.path.join(game_dir, 'Program/server/six/datatab/')
client_dir = os.path.join(game_dir, 'Program/client/Assets/Config/')
# 刪除舊文件。
print("Delete " + server_dir)
try:
shutil.rmtree(server_dir)
except:
pass
print("Delete " + client_dir)
try:
shutil.rmtree(client_dir)
except:
pass
# 生成server文件
print("Creating " + server_dir)
shutil.copytree(design_dir, server_dir)
files = get_files(server_dir)
convert_files(files)
# 復制client文件
print("Copy " + client_dir)
shutil.copytree(server_dir, client_dir)
shutil.rmtree(os.path.join(client_dir, 'server/'))
print("Done. Total files: %d" % len(files))
# End of datatab_convert().
def get_files(dir):
'''Get a list of files under input dir.'''
result = []
for root,dirs,files in os.walk(dir):
for f in files:
result.append(os.path.join(root, f))
return result
# End of get_files().
def convert_files(files):
'''轉換一批文件.
files 是列表,元素為完整路徑名。
'''
for f in files:
ext = os.path.splitext(f)[1].lower()
if '.xlsx' != ext:
print(f + " -> keep")
continue
print(f + " -> csv")
xlsx2csv(f)
os.remove(f)
# End of convert_files().
if __name__ == '__main__':
if len(sys.argv) != 2:
print('usage: datatab <game dir>')
else:
datatab_convert(sys.argv[1])
sys.exit(0)
# Usage: datatab.py <game dir>
# Example: datatab.py "d:\game"
# <game dir> 是SVN根目錄,包含Design/, Program/ 目錄。
為方便使用,將datatab.py 打包成 exe, 這樣不能安裝Python就能運行。
下載并安裝Python3, 安裝openpyxl包,保證本地可以運行 datatab.py.
下載并安裝PyInstaller:
pip install pyinstaller
運行
pyinstaller --onefile datatab.py
ImportError: No module named 'jdcal'
可能openpyxl安裝時自帶的jdcal無法找到,刪除
C:\Python34\Lib\site-packages\jdcal-1.0-py3.4.egg
重新安裝:pip install jdcal
posted on 2015-10-30 16:05
金慶
閱讀(1797)
評論(0)
編輯
收藏
引用
所屬分類:
6. Python
、
2. 網游開發
只有注冊用戶
登錄
后才能發表評論。
相關文章:
vs2017 linux 編譯輸出改成 vs 格式
xlsx批量轉為utf8的csv
如何運行 rpcz python example
Windows上Python讀取stdin出錯
建立Socket Policy服務器
python計算24點
(Python編程)Pickle對象
Boost.Python中文文檔下載
用Boost.Python構建混合系統
Python封裝的性能研究
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
久久久久久91香蕉国产
|
亚洲一二三区视频在线观看
|
久久亚洲国产成人
|
欧美一区二区播放
|
亚洲伊人一本大道中文字幕
|
亚洲视频在线免费观看
|
夜夜嗨一区二区三区
|
亚洲美女电影在线
|
日韩一级在线
|
一区二区久久
|
亚洲欧美激情在线视频
|
欧美在线精品一区
|
老司机成人网
|
亚洲欧洲一区
|
亚洲狼人综合
|
午夜精品免费在线
|
美女福利精品视频
|
欧美日韩1区2区3区
|
国产精品视频在线观看
|
狠狠做深爱婷婷久久综合一区
|
激情婷婷亚洲
|
亚洲精品一二
|
亚洲欧美国产精品桃花
|
另类春色校园亚洲
|
99精品欧美一区二区蜜桃免费
|
亚洲欧美日韩专区
|
欧美激情综合五月色丁香
|
国产精品自拍网站
|
亚洲伦理自拍
|
久久伊人一区二区
|
在线天堂一区av电影
|
久久久午夜电影
|
国产精品视频一二三
|
亚洲精品国产精品久久清纯直播
|
怡红院精品视频
|
亚洲一区二区免费
|
亚洲高清二区
|
午夜精品久久久久久久久久久久
|
免费精品视频
|
激情久久久久久久
|
欧美一区二区三区久久精品茉莉花
|
99精品欧美一区二区三区
|
久久女同互慰一区二区三区
|
国产精品日韩高清
|
一区二区三区欧美在线
|
欧美成人精品高清在线播放
|
午夜精品久久久久久久白皮肤
|
欧美精品123区
|
91久久久久久
|
欧美大片第1页
|
久久国产精品免费一区
|
国产精品你懂的在线
|
av成人天堂
|
亚洲欧洲精品天堂一级
|
久久综合一区
|
国产一区二区欧美
|
中日韩男男gay无套
|
在线视频一区二区
|
一区二区激情视频
|
欧美人交a欧美精品
|
亚洲国产欧美一区二区三区久久
|
国精品一区二区三区
|
香蕉久久国产
|
亚洲在线观看视频
|
国产精品揄拍500视频
|
欧美一区日本一区韩国一区
|
亚洲婷婷免费
|
国产日韩欧美综合
|
久久婷婷国产综合尤物精品
|
欧美在线三级
|
在线观看欧美
|
亚洲精品裸体
|
欧美视频免费在线
|
亚洲欧洲av一区二区
|
亚洲一区中文字幕在线观看
|
国产精品有限公司
|
女人香蕉久久**毛片精品
|
欧美96在线丨欧
|
一级日韩一区在线观看
|
一二三区精品
|
国产在线视频不卡二
|
欧美成人一品
|
欧美日韩一区二区三区在线观看免
|
欧美日韩精品免费看
|
中文亚洲视频在线
|
午夜精彩视频在线观看不卡
|
国产综合色产
|
最新国产乱人伦偷精品免费网站
|
欧美日韩理论
|
久久久久高清
|
欧美国产精品专区
|
亚洲欧美一区二区三区在线
|
久久久久久91香蕉国产
|
99视频精品在线
|
亚洲一区二区在线观看视频
|
在线看片日韩
|
亚洲视频你懂的
|
好男人免费精品视频
|
亚洲精品欧美精品
|
国产一区二区精品久久99
|
亚洲激情视频在线
|
国产婷婷色一区二区三区在线
|
欧美激情自拍
|
国产在线观看一区
|
艳女tv在线观看国产一区
|
一区二区三区在线观看视频
|
免费观看日韩
|
午夜欧美精品久久久久久久
|
免费不卡视频
|
久久久亚洲影院你懂的
|
国产日产亚洲精品系列
|
亚洲人成网站色ww在线
|
亚洲一区区二区
|
亚洲精品免费网站
|
久久久无码精品亚洲日韩按摩
|
亚洲欧美大片
|
欧美另类亚洲
|
亚洲福利专区
|
亚洲国产视频直播
|
欧美在线黄色
|
久久国产黑丝
|
国产精品女人毛片
|
一本大道av伊人久久综合
|
亚洲伦理在线免费看
|
欧美成年人网
|
欧美成人一区二免费视频软件
|
国内成+人亚洲+欧美+综合在线
|
亚洲视频在线一区观看
|
亚洲一区二区三区高清不卡
|
欧美另类极品videosbest最新版本
|
久久亚洲精品欧美
|
激情五月综合色婷婷一区二区
|
欧美一二三视频
|
久久精品三级
|
韩国三级电影久久久久久
|
欧美一区2区三区4区公司二百
|
欧美一区日本一区韩国一区
|
国产伦精品一区二区三区视频孕妇
|
一本久久a久久精品亚洲
|
亚洲校园激情
|
国产精品久久久久久模特
|
一区二区三区成人
|
亚洲在线中文字幕
|
国产精品私拍pans大尺度在线
|
在线午夜精品自拍
|
亚洲欧美日韩视频一区
|
国产欧美一区二区精品性色
|
午夜久久久久久
|
久久久久久久性
|
亚洲国产成人精品久久
|
欧美福利网址
|
亚洲视频在线看
|
久久久久久亚洲精品中文字幕
|
好吊色欧美一区二区三区四区
|
欧美三区不卡
|
亚洲欧美成人一区二区在线电影
|
欧美性大战久久久久久久
|
99re在线精品
|
欧美一区二区三区四区在线观看地址
|
国产精品女同互慰在线看
|
久久黄金**
|
亚洲国产日韩在线一区模特
|
亚洲一区自拍
|
国内外成人免费激情在线视频网站
|
久久欧美中文字幕
|
亚洲日本中文字幕区
|
午夜精彩国产免费不卡不顿大片
|
国产精品夜夜嗨
|
麻豆精品国产91久久久久久
|
日韩一二三区视频
|
久久亚洲欧美
|
亚洲视频精品在线
|
国内精品久久久久久久影视麻豆
|
久久综合婷婷
|
夜夜嗨av一区二区三区四区
|
国产精品久久9
|
久久免费视频网
|
av成人老司机
|
欧美大色视频
|
欧美一级免费视频
|
日韩视频一区二区三区在线播放免费观看
|
欧美日韩在线精品一区二区三区
|
香蕉久久a毛片
|
亚洲精品视频免费观看
|
久久久久久久一区二区三区
|
一区二区三欧美
|
伊人久久综合97精品
|
国产精品视频免费观看www
|
欧美福利一区二区
|
欧美一区二区在线
|
夜夜爽夜夜爽精品视频
|
欧美激情在线
|
欧美暴力喷水在线
|
久久久91精品国产一区二区精品
|
夜夜嗨av色综合久久久综合网
|
好看的av在线不卡观看
|
国产麻豆一精品一av一免费
|
欧美日韩中文精品
|
欧美精品一区二区视频
|
欧美人与禽性xxxxx杂性
|