首先编码的文件需要有对应格式的注释
# -*- coding:utf-8 -*- import xlsxwriter with open("file.py", "r", encoding="UTF-8") as f: lines = f.readlines() inum=0 for val in lines: if "\"\"\"" in val: inum += 1 ans = [[]for i in range(int(inum/2))] inum=0 for val in lines: val = val.strip() if "用途:" in val: ans[inum].append(val) if "使用范例:" in val: ans[inum].append(val) if "变量意义:" in val: ans[inum].append(val) inum += 1 workbook = xlsxwriter.Workbook('result.xlsx') #生成表格 worksheet = workbook.add_worksheet(u'sheet1') #在文件中创建一个名为TEST的sheet,不加名字默认为sheet1 worksheet.set_column('A:A',20) #设置第一列宽度为20像素 bold=workbook.add_format({'bold':True}) #设置一个加粗的格式对象 for i in range(len(ans)): for j in range(len(ans[i])): worksheet.write('%s%s'%(chr(ord("A")+j), str(i+1)), ans[i][j]) #循环写处理后的数据生成的列表 workbook.close()最后生成的excel文件内容
python3的系统默认编码是utf-8使用起来没有问题,但是当我将这段代码运行在python2的环境中时报了错误,因为python2的系统默认编码时ASCII码,所以要在这段代码前加上以下代码,修改系统默认编码。
import sys reload(sys) sys.setdefaultencoding('utf-8')但是加上这段代码后,运行文件就得通过命令行来运行,我尝试在IDE中运行这个文件,但是卡在了reload(sys),之后就没有向下执行,转为用windows命令行来执行后成功生成excel文件
