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)





原文地址:https://www.cnblogs.com/Tdazheng/p/14962371.html