|
文明6官方文本修正项目碰到的问题:
汉化文本分成七个Excel表,需要合并成一个大表后把数据复制粘贴到XML文件中
普通操作是一个个复制粘贴
可以用以下程序自动化处理- # mergeXlsx.py: 将多个Excel文件中的表合并为一个文件中的一个表
- import glob # 筛选文件的标准库
- import openpyxl # 处理Excel文件的第三方库
- def run(path):
- # 获取原文件列表
- oldFiles = glob.glob(path + '*.xlsx')
- # 要保存的新文件
- newFile = path + 'newFile.xlsx'
- # 在内存中创建新工作簿和表
- workbook = openpyxl.Workbook()
- worksheet = workbook.active
- # 遍历所有文件
- for file in oldFiles:
- print('打开:' + file)
- # 载入文件数据
- data = openpyxl.load_workbook(file)
- # 遍历所有表
- for sheet in data.worksheets:
- # 遍历所有行(不含表头)
- for row in sheet.iter_rows(min_row=2):
- # 获取行数值列表并添加到新工作表
- line = [col.value for col in row]
- worksheet.append(line)
- # 额外添加5行数值到新工作表
- fixData = [['LOC_OPTIONS_KEY_0', '0'],
- ['LOC_OPTIONS_KEY_QUOTE', '"'],
- ['LOC_DIPLO_KUDO_EXIT_ANY_ANY', ' '],
- ['LOC_DIPLO_WARNING_EXIT_ANY_ANY', ' '],
- ['LOC_CREDITS', '....']]
- for i in fixData:
- worksheet.append(i)
- # 保存新工作簿
- print('保存:' + newFile)
- workbook.save(newFile)
- print('完工!')
- run('D:\\Test\\Civ6_Text\\Civ6.zh_CN\\')
复制代码 参考链接:
http://www.10tiao.com/html/383/201607/2247483697/1.html |
|