如何用python字典将excel当中的,倒数第二行和倒数第一行进行相加,然后形成新的一行
示例:
def demo(_path):
fil = xlrd.open_workbook_xls(_path)
a = fil.sheet_by_name(fil.sheet_names()[0])
endFile1 = a.row_values(-1) # 倒数第一行
endFile2 = a.row_values(-2) # 倒数第二行
enfFile = [i+i1 for i,i1 in zip(endFile1,endFile2)] # 获取倒数两行的和
allStr = ""
for i in range(a.nrows): #遍历文件, 获取每一行内容
value = a.row_values(i)
value = " ".join([str(i) for i in value])
allStr += f"{value}\n"
enfFile = " ".join([str(i) for i in enfFile])
allStr += f"{enfFile}\n"
allStr = allStr.replace(" ", "\t")
print(allStr)
fil.release_resources() # 关闭文件, 重新打开一个文件
"""若是不需要写入excel, 将下面三行注释"""
fil = open(_path, mode="w+", encoding="utf-8") #在源文件基础上覆盖源文件,并添加计算后的一行
fil.write(allStr)
fil.close()
if __name__ == '__main__':
_path = "G://OneDrive//桌面//demo.xls" # 路径
demo(_path)
>>>
"""
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.1
2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.6
4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.1
5.5 6.5 7.5 8.5 9.5 10.5 11.5 12.5 13.5 14.5 15.5 16.5 17.5 18.6
7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.1
12.5 14.5 16.5 18.5 20.5 22.5 24.5 26.5 28.5 30.5 32.5 34.5 36.5 38.7
"""