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)