青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
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)
相冊
公告照片
搜索
積分與排名
積分 - 660742
排名 - 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" 錯誤(11064)
2.?SVN中邪惡的replace(10988)
3.?VS2005編譯libevent(10443)
4.?混音算法的學習與研究(10247)
5.?C調用lua腳本的效率測試(9022)
評論排行榜
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
金慶
閱讀(1795)
評論(0)
編輯
收藏
引用
所屬分類:
6. Python
、
2. 網游開發
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
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 © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
午夜精品亚洲
|
亚洲精选视频免费看
|
亚洲一区在线视频
|
国产女人aaa级久久久级
|
久久精品国产亚洲一区二区三区
|
中日韩男男gay无套
|
午夜精品电影
|
亚洲高清资源
|
亚洲精品日韩激情在线电影
|
国产精品免费小视频
|
久久精品2019中文字幕
|
久久一区二区三区四区五区
|
日韩午夜黄色
|
亚洲欧美中日韩
|
亚洲激情视频在线播放
|
一本色道久久综合狠狠躁篇怎么玩
|
欧美在线视频一区二区三区
|
久久精品成人欧美大片古装
|
在线免费观看日本一区
|
99精品欧美一区二区蜜桃免费
|
国产精品无人区
|
欧美成人精品一区
|
欧美无砖砖区免费
|
猛干欧美女孩
|
国产精品成人观看视频免费
|
亚洲精品一区二区三区99
|
宅男在线国产精品
|
亚洲人成绝费网站色www
|
亚洲午夜一区二区
|
亚洲精品乱码久久久久久久久
|
亚洲一区在线播放
|
99国产精品
|
久久久久久久一区二区
|
午夜电影亚洲
|
欧美精选午夜久久久乱码6080
|
欧美一区二区三区四区高清
|
欧美激情综合
|
欧美77777
|
国产欧美一区二区精品婷婷
|
日韩天堂在线观看
|
91久久久久
|
久久久亚洲国产天美传媒修理工
|
亚洲影视在线播放
|
欧美日韩国产经典色站一区二区三区
|
欧美三日本三级少妇三2023
|
免费在线看成人av
|
国产日韩欧美不卡
|
亚洲永久网站
|
亚洲视频欧洲视频
|
欧美 日韩 国产在线
|
久久男女视频
|
国产欧美精品一区二区三区介绍
|
99精品视频一区
|
亚洲精品资源美女情侣酒店
|
久久天堂av综合合色
|
美女视频黄a大片欧美
|
国产欧美高清
|
午夜精品久久久
|
欧美一区三区三区高中清蜜桃
|
欧美日韩国产123
|
日韩一级在线
|
亚洲一级二级在线
|
欧美日韩一区在线观看视频
|
亚洲免费精品
|
亚洲一区激情
|
国产精品一区二区在线观看
|
欧美日韩国产电影
|
久久综合精品一区
|
黄色成人av网
|
久久午夜精品一区二区
|
欧美成人在线免费视频
|
亚洲激情电影在线
|
欧美人成在线
|
99精品国产福利在线观看免费
|
一本久久a久久免费精品不卡
|
欧美人妖另类
|
亚洲色在线视频
|
欧美中文字幕在线播放
|
狠狠爱综合网
|
欧美va亚洲va日韩∨a综合色
|
91久久在线观看
|
夜夜嗨av色综合久久久综合网
|
欧美日韩1区2区
|
亚洲在线观看视频
|
玖玖综合伊人
|
亚洲精品国产精品国自产观看
|
欧美日韩在线直播
|
欧美在线视频免费观看
|
亚洲电影激情视频网站
|
一区二区三区导航
|
国产亚洲免费的视频看
|
农村妇女精品
|
亚洲永久免费
|
欧美成人综合在线
|
亚洲欧美成人一区二区三区
|
国产欧美日韩91
|
裸体女人亚洲精品一区
|
在线亚洲观看
|
嫩草影视亚洲
|
午夜精品久久久久久久99樱桃
|
韩国av一区二区三区在线观看
|
欧美激情aⅴ一区二区三区
|
亚洲欧美一区二区精品久久久
|
欧美成人精品激情在线观看
|
亚洲欧美日韩精品在线
|
亚洲电影在线看
|
欧美日韩综合精品
|
久久亚洲欧美
|
亚洲一区国产视频
|
亚洲国产精品一区二区久
|
亚洲国产一二三
|
国产午夜精品一区理论片飘花
|
欧美 日韩 国产 一区
|
午夜精品理论片
|
99re这里只有精品6
|
蜜臀91精品一区二区三区
|
亚洲欧美日韩国产精品
|
亚洲精品美女在线观看
|
韩国一区二区在线观看
|
国产精品美女视频网站
|
欧美精品一区视频
|
免费成人黄色av
|
久久久久九九视频
|
午夜精品久久久久久久久久久久久
|
亚洲精品一区二区三区在线观看
|
麻豆国产va免费精品高清在线
|
欧美一区二区三区在线视频
|
aⅴ色国产欧美
|
亚洲精品国产精品国自产观看浪潮
|
国产一区二区三区的电影
|
国产精品日韩欧美大师
|
国产精品av一区二区
|
欧美日韩免费观看一区二区三区
|
久久久久国产精品麻豆ai换脸
|
亚洲欧美一区二区三区久久
|
亚洲尤物视频在线
|
亚洲在线黄色
|
亚洲免费人成在线视频观看
|
欧美性感一类影片在线播放
|
欧美精品v日韩精品v国产精品
|
久久在线观看视频
|
久久一区二区三区国产精品
|
老色鬼精品视频在线观看播放
|
久久久久久久久综合
|
久久亚洲精品一区
|
免费在线观看精品
|
欧美精品福利
|
欧美日韩日本网
|
国产精品啊啊啊
|
国产精品美女久久久久久久
|
国产欧美日韩不卡
|
伊人一区二区三区久久精品
|
亚洲大片免费看
|
av不卡在线观看
|
亚洲欧美精品一区
|
久久久久国产精品人
|
欧美+日本+国产+在线a∨观看
|
欧美激情亚洲
|
一本色道婷婷久久欧美
|
亚洲在线免费视频
|
久久精品视频在线免费观看
|
久久综合色播五月
|
欧美日韩国产在线看
|
国产精品一区二区三区四区五区
|
国产综合精品
|
日韩午夜av
|
久久国内精品自在自线400部
|
欧美va亚洲va国产综合
|
最新高清无码专区
|
亚洲一区在线看
|
免费看亚洲片
|
国产精品久久久久三级
|
亚洲成人原创
|
亚洲免费在线精品一区
|
伊人久久av导航
|
欧美一区二区三区啪啪
|
久久久精品国产免费观看同学
|
欧美成人在线网站
|
国产精品影视天天线
|
亚洲国产精品一区二区久
|
亚洲一区二区在线免费观看视频
|
久久久久久综合网天天
|
欧美激情1区
|
翔田千里一区二区
|
欧美激情四色
|
亚洲国产欧美久久
|
亚洲欧美成人
|
亚洲激情在线观看
|
久久国产一区二区
|
欧美午夜电影一区
|
亚洲精品免费观看
|
久久全球大尺度高清视频
|
亚洲精品日韩一
|
久久在精品线影院精品国产
|
国产精品综合久久久
|
一本色道久久99精品综合
|
中文久久精品
|
欧美黄色精品
|
久久亚洲捆绑美女
|
极品尤物久久久av免费看
|