因为尚且不知道如何直接对打开的excel文件进行操作,于是决定另外写一个文件出来。
就是简单的把矩阵对称的复制一下。
很简单。但是花了半个小时多,所以特此记录一下。
#-*- coding=utf-8 -*-
import xlrd
import xlwt
data=xlrd.open_workbook("C:/Users/hasee/Desktop/visualableWea.vscode/Bdata.xls")
workbook = xlwt.Workbook(encoding = 'utf-8')
table = data.sheets()[0] #获得表格
nrows = table.nrows #行数
ncols = table.ncols #列数
worksheet = workbook.add_sheet("data",cell_overwrite_ok=False)
for i in range(2,52):
for j in range(2,i):
worksheet.write(i,j, label = table.cell(j,i).value)
for i in range(0,nrows):
for j in range(0,ncols):
if table.cell(i,j).value!='':
worksheet.write(i,j, label = table.cell(i,j).value)
a
workbook.save("C:/Users/hasee/Desktop/visualableWea.vscode/excel_out.xls")
data=xlrd.open_workbook("C:/Users/hasee/Desktop/visualableWea.vscode/excel_out.xls")
workbook = xlwt.Workbook(encoding = 'utf-8')
table = data.sheets()[0] #获得表格
nrows = table.nrows #行数
ncols = table.ncols #列数
worksheet = workbook.add_sheet("data",cell_overwrite_ok=True)
for i in range(2,52):
for j in range(2,i):
worksheet.write(i,j, label = table.cell(j,i).value)
for i in range(0,52):
for j in range(0,52):
if table.cell(i,j).value!='':
worksheet.write(i,j, label = table.cell(i,j).value)
for i in range(2,52):
for j in range(2,i):
if table.cell(j,i).value>1 :
worksheet.write(i,j, 0)
worksheet.write(j,i, 0)
for i in range(2,52):
sum=0
for j in range(2,52):
if(table.cell(i,j).value==1):
sum=sum+table.cell(i,j).value
worksheet.write(i,52,sum)
workbook.save("C:/Users/hasee/Desktop/visualableWea.vscode/excel_out2.xls")
首先因为复制粘贴比较省时间,所以代码量看起来比较多,而且保存了2个文件,脑子就不用思考了。hhh
point1
首先记得要Save。
point2
overwrite默认是不被允许的。以及True必须写True,大小写敏感。
这里用了个简单的if做判断,免得需要的数据被重写。
point3
默认路径是当前工作路径。
point4
range是左闭右开的 切记!!!!!!!!!!!!!!!!