1.装载openpyxl模块:
xlrd模块仅能用作读操作,
xlutils.copy import copy 复制后再保存为xlsx格式有错误,保持为xls格式时不能正确保存汉字,且失去全部原有设定格式
from openpyxl import load_workbook
2.使用.xlsx开始要load读取,结束时进行save保存
wbook = load_workbook('Exemple.xlsx')
book.save(r'Exemple.xlsx')
3.访问.xlsx中数据
1) 根据工作表名称获得工作表:wsheet = wbook['Report']
2) 根据 列号+行号 读取/修改 对应表格参数:
读 E9 = wsheet['E9']
写 wsheet['E9'] = 'Test' 写入变量 wsheet['E9'] = str
其中str中不能含有<0x00>,否则会爆出openpyxl.utils.exceptions.IllegalCharacterError错误
可将字符串用print(str)打印出,复制到python IDE中,再用sublim工具打开,检查字符串中是否含有<0x00>空字符
或直接将打印出的字符串粘贴到文本编辑器中,如显示为一部分,则表明含有<0x00>,且<0x00>后字段被截断
4.python在读取文本时,为逐行读取
examp:
from openpyxl import load_workbook
file_name = 'Report.txt'
wbook = load_workbook('Exemple.xlsx')
wsheet = wbook['Report']
E9 = wsheet['E9']
print(f'({E9.column}, {E9.row}) is {E9.value}')
wsheet['E7'] = ' 0 days'
for i in open(file_name):
if 'TEST:' in i:
str = i[len('TEST:'):]
wsheet['E18'] = str
print(str)
elif 'Data:' in i:
str = i[len('Data:'):]
#wsheet['F18'] = str
print(str)
wbook.save(r'Exemple.xlsx')