python对excel文档去重及求和的实例

yipeiwu_com6年前Python基础

废话不多说,估计只有我这个菜鸟废了2个小时才搞出来,主要是我想了太多方法来实现,最后都因为这因为那的原因失败了

间接说明自己对可变与不可变类型的了解,还是不够透彻

最后就用了个笨方法解决了!

#coding:utf-8
import xlrd
import xlwt
import os
from collections import Counter
workbook = xlrd.open_workbook(r'D:\hh\heli\a.xlsx')
Sheet1 = workbook.sheet_by_name('Sheet1')
clos_a=Sheet1.col_values(1)
clos_b=Sheet1.col_values(4)
clos_c=Sheet1.col_values(5)
wbk = xlwt.Workbook()
sheet = wbk.add_sheet(u'初始表')
sheet.write(0, 0, u'小区')
sheet.write(0, 1, u'总端口数')
sheet.write(0, 2, u'已使用端口数')
test=('D:\hh\heli\\美女你好.xls').decode('utf-8') #表名是不是让你想入非非了,哈哈
result = []
list_m=map(lambda x,y:[x,y],clos_a,clos_b)
list_n=map(lambda q,w:[q,w],clos_a,clos_c)
dic={}
dic_a={}
def read_excel():
  while test is True:
    os.remove(test)
  else:
    for elem in list_m:
      key=elem[0]
      if key in dic:
        dic[key]+=elem[1]
      else:
        dic[key]=elem[1]
    for elem_a in list_n:
      key_a = elem_a[0]
      if key_a in dic_a:
        dic_a[key_a]+=elem_a[1]
      else:
        dic_a[key_a] = elem_a[1]
  item=list(dic)
  item_a=list(dic_a)
  for i in range(1,len(item)):
    sheet.write(i,0,item[i])
    sheet.write(i,1,dic[item[i]])
  for p in range(1,len(item_a)):
    sheet.write(p,2,dic_a[item_a[p]])
  wbk.save(test)
if __name__ == "__main__":
  read_excel()

以上这篇python对excel文档去重及求和的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3大文件解压和基本操作

先说下:所谓的大文件并不是压缩文件有多大,几十兆的文件而是解压后几百兆。其中就遇到解压不成功的情况.、读小文件时成功,大文件时失败等 def unzip_to_txt_plus(z...

Python 异常处理Ⅳ过程图解

Python 异常处理Ⅳ过程图解

异常的参数 一个异常可以带上参数,可作为输出的异常信息参数。 你可以通过except语句来捕获异常的参数,如下所示: 变量接收的异常值通常包含在异常的语句中。在元组的表单中变量可以接...

django将图片上传数据库后在前端显式的方法

1、使用ImageField先安装pillow模块 pip install pillow 2、在app的models中设置 class Image(models.Model):...

python 机器学习之支持向量机非线性回归SVR模型

python 机器学习之支持向量机非线性回归SVR模型

本文介绍了python 支持向量机非线性回归SVR模型,废话不多说,具体如下: import numpy as np import matplotlib.pyplot as plt...

python openvc 裁剪、剪切图片 提取图片的行和列

python openvc 裁剪、剪切图片 提取图片的行和列

python openvc 裁剪图片 下面是4个坐标代码: import cv2 #裁剪图片路径input_path,四个裁剪坐标为:y1,y2,x1,x2,保存剪裁后的图片路径ou...