zoukankan      html  css  js  c++  java
  • python 合并指定的excel表中的sheet中的行。 去重,留唯一

    import os
    import xlrd
    import xlsxwriter
    # 在下方输入需要合并的文件所在文件夹位置
    path='D:/zheng-desk/test'
    # 在下方输入合并后Excel的路径和文件名
    work=xlsxwriter.Workbook('D:/zheng-desk/test/output00000.xlsx')
    # 新建一个sheet
    sheet=work.add_worksheet('combine')
     
    file_list=os.listdir(path)
    file_list.sort() 
    
    file_name='';
    x1=1; x2=1;
    fileNum = len(file_list)
    print("在该目录下有%d个xlsx文件"%fileNum)
    for file in file_list:
        if '0630 ' in file:                       #此处需要修改!
            file_name = os.path.join(path,file) 
        else:
            continue
        workbook=xlrd.open_workbook(file_name)
        table=workbook.sheets()[0]   #Template
        #sheet2 = work.sheet_by_index(0)
        #table=workbook.sheet_by_name('Template')
        rows0=table.nrows   # 获取sheet中有效行数
    
        clos=table.ncols   # 获取sheet中有效列数
        sheet.write_row('A'+str(x1),table.row_values(1))
        x1+=1
        #for i in range(rows): 
         #   sheet.write_row('A'+str(x1),table.row_values(i))
        #    x1+=1
        print('正在合并第%d个文件 '%x2)
        print('已完成 ' + file_name)
        x2 += 1;   
    print("已将%d个文件合并完成"%fileNum)
    work.close()
    
    # 2 读取excel所有的数据(按照指定的sheet-combine)
    
    import xlrd
    data = xlrd.open_workbook( 'D:/zheng-desk/test/output0000.xlsx') #打开文件,指定路径
    table = data.sheet_by_name('combine') #获取表名
    rows = table.nrows #获取表的所有行
    lists = []#定义一个空的列表,用于存放读出来的数据
    for row in range(1, rows):
        lists.append(table.row_values(row)) # 取值
    #print(lists)
    
    #  3 列表数据去重转成列表,
    
    new = []
    for a in lists:
        if a not in new:
            new.append(a)
    print(a)
    
    
    
    
    
    
  • 相关阅读:
    vim代码对齐
    在liunx中,快速查找到以前使用过的命令行
    linux文件权限与目录设置
    ASP常用代码
    存储过程
    WebService
    SNS
    浪曦博客系统
    SQL事件探查器与索引优化向导
    光盘AJAX
  • 原文地址:https://www.cnblogs.com/Tdazheng/p/14962371.html
Copyright © 2011-2022 走看看