Python借助Openpyxl读写excel2007

来源:互联网 发布:全画幅微单推荐 知乎 编辑:程序博客网 时间:2024/06/06 19:33
虽说自己是学计算机的,有时候觉得还不如人家没有学计算机的会编程,最近心情比较down,感觉什么也不如人家,心里有点失调,but 还得硬着头皮自己走下去并且要对自己有个交代。不罗嗦了说说这几天的菜鸟级别吧。

       对于Python这几天只接触了一下Openpyxl进行excel2007的数据处理,Python的其他的功能还没有尝试,不过感觉Python应该蛮可爱的,据说不是学计算机的都很容易学会的。~~~~(>_<)~~~~ 我又开始怀疑自己的智商了,我到底擅长什么呢?我活了20多年也没有发现。

       程序还在跑着,我要确定对了在完全贴上来,争取把我搞明白的都告诉大家,O(∩_∩)O哈哈~just wait a minute 不要浮躁,告诉自己要平静,平静才能获得提高

       终于跑完了,贴上,该程序从一个已经存在的excel表格haggle.xlsx中读取2列数据分别为列1、2统计列1中的同一个数据对应列2多少个不同的数据并将其写到一个新的excel表格中名为result.xlsx

     比如:下表则0对应了1,2两个不同的数据,而1对应3这1个不同的数据,因此输出结果为

列1列201010213

0211

'''Created on 2012-11-15@author: Administrator'''from openpyxl import load_workbookfrom openpyxl import Workbookfrom openpyxl.writer.excel import ExcelWriter wb = load_workbook(filename = r'haggle.xlsx')#获取一个已经存在的excel文件wbws=wb.get_sheet_by_name("Sheet4")#打开该文件wb需要用到的worksheet即wswb1=Workbook()#新建立一个工作簿wb1ewb1=ExcelWriter(workbook=wb1)#新建一个ExcelWriter,用来写wb1dest_filename=r'result.xlsx'#wb1的名字ws1=wb1.worksheets[0]#取得wb1的第一个工作表ws1ws1.title="socialrange"#指定ws1名字为socialrange#for i in range(1,36):#ws2=wb.get_sheet_by_name("Sheet5")for i in range(0,36):#此处遍历列1寻找0-35    li=[]#给每个数建立一个list表    for row_num in xrange(0,213824):#表示遍历的行数        c2=ws.cell(row=row_num,column=2).value#获取列2对应于excel中的C列的数据        c3=ws.cell(row=row_num,column=3).value#获取列3对应于excel中的D列的数据        #对于每个i遍历列C,找出C列跟i相同的数据,并将对应的D列的不同数据保存到li中        if c2==i:            if c3 in li:                continue            else:                li.append(c3)        else:            continue#print len(li)    ws1.cell(row=i,column=0).value=i    ws1.cell(row=i,column=1).value=len(li)ewb1.save(filename=dest_filename)#保存一定要有,否则不会有结果    


原创粉丝点击