在开发多语言的时候会遇到词库直接会给一个Excel文件里面,要把里面excel内容提取处理转成.string才能直接使用。
编写python建议用:Sublime Text,是一个文本编辑器(收费软件,可以无限期试用),同时也是一个先进的代码编辑器。
我安装是python3是命令行是使用pip3, python命令行是使用pip。
1、在Mac系统安装xlrd,如果安装xlrd的版本是2.0.0要移除因为2.0.0不能执行xlrd.open_workbook这个函数,要用版本为1.2.0才可以,移除代码直接终端运行:
pip3 uninstall xlrd
2、再安装低版本xlrd,直接终端运行:
pip3 install xlrd==1.2.0
3、查看 xlrd版本终端运行:pip3 list,如图所示是xlrd1.2.0:
QQ20220726-151405.png
3、下面是python的处理excel核心文件:
#导入处理excel的库
import xlrd
import os
#要处理的Excel文件
fileurS = '/Users/iphone15/Downloads/OnlyFileHandle/InputFile/HandleReadyFile.xlsx'
#输出处理文件
outWFile = '/Users/iphone15/Downloads/OnlyFileHandle/OutFile/OutPut.txt'
# 打开Excel文件
workbook = xlrd.open_workbook(fileurS)
# 获取全部表的名字
sheetName = workbook.sheet_names()
# 获取全部表的内容
sheetObj = workbook.sheets();
# 获取第二张表内容
iosObjSheet = workbook.sheets()[0];
# 获取第二张表多少行
num_rows = iosObjSheet.nrows;
# 获取第二章表多少列
num_cols = iosObjSheet.ncols;
# 用来装全部内容
fileContent = "";
# 遍历第二张表个体内容
for curr_row in range(num_rows):
inPutString = ""
oneNamContent = ""
twoNameContent = ""
for curr_col in range(num_cols):
cellVaule = iosObjSheet.cell_value(curr_row,curr_col);
if (curr_col == 0) | (curr_col == 2): #只装第一和第二列表元素
cellVaule = str(cellVaule);
cellVaule = cellVaule.replace('\"','\\\"');#把" 替换成转义\"
if curr_col == 0:
oneNamContent = cellVaule;
inPutString = ("\"%s\"" %(cellVaule));
if curr_col == 2:
twoNameContent = cellVaule;
inPutString = ("%s = \"%s\";\n" %(inPutString,cellVaule));
if (len(oneNamContent) > 0) & (len(twoNameContent) > 0):#只有满足不为空才装
fileContent = fileContent + inPutString;
#把获取的内容写入文件
with open(outWFile,'w+', encoding='utf-8') as file:
file.write(fileContent);
4、把代码装进新创建.py文件,然后设置好要处理文件的路径和输出文件的路劲,输出文件为要的结果,注意我这里安装是python3所以直接用python3,python直接用python终端运行:
python3 新创建.py
5、GitHub上面的工具代码:工具代码
网友评论