多个excel文件内容合并到一个excel文件的多个sheet的小程序
# -*- coding:utf-8 -*- import xlrd, xlsxwriter # 待合并excel
allxls = ["D:\\excelcs\\***.xlsx"]
allxls1 = ["D:\\excelcs\\***.xlsx"]
allxls2 = ["D:\\excelcs\\***.xlsx"]
#print(allxls[0:2])
# 目标excel
end_xls = "D:\\excelcs\\***.xlsx" def open_xls(file):
try:
fh = xlrd.open_workbook(file)
return fh
except Exception as e:
print("打开文件错误:" + e) # 根据excel名以及第几个标签信息就可以得到具体标签的内容
def get_file_value(filename, sheetnum):
rvalue = []
fh = open_xls(filename)
sheet = fh.sheets()[sheetnum]
row_num = sheet.nrows
for rownum in range(0, row_num):
rvalue.append(sheet.row_values(rownum))
return rvalue ###获取第一个excel的sheet个数以及名字作为标准
#获取excel的个数以及名字作为标准
first_file_fh = open_xls(allxls[0])
first_file_fh1 = open_xls(allxls1[0])
first_file_fh2 = open_xls(allxls2[0])
first_file_sheet = first_file_fh.sheets()
first_file_sheet1 = first_file_fh1.sheets()
first_file_sheet2 = first_file_fh2.sheets()
first_file_sheet_num = len(first_file_sheet)
#print(first_file_sheet_num)
sheet_name = []
sheet_name1 = []
sheet_name2 = []
for sheetname in first_file_sheet:
sheet_name.append(sheetname.name)
for sheetname in first_file_sheet1:
sheet_name.append(sheetname.name)
for sheetname in first_file_sheet2:
sheet_name.append(sheetname.name)
#print("sheet_name:", sheet_name)
# 定义一个目标excel
endxls = xlsxwriter.Workbook(end_xls) all_sheet_value = []
all_sheet_value1 = []
all_sheet_value2 = []
# 把所有内容都放到列表all_sheet_value中
#for file_name in allxls:
#for sheet_num in range(0, first_file_sheet_num):
# all_sheet_value.append([])
# for file_name in allxls:
# #for sheet_num in range(0, first_file_sheet_num):
# print("正在读取" + file_name + "的第" + str(sheet_num + 1) + "个标签...")
# file_value = get_file_value(file_name, sheet_num)
# all_sheet_value[sheet_num].append(file_value)
# print("file_value:", file_value) for file_name in allxls:
all_sheet_value.append([])
for sheet_num in range(0, first_file_sheet_num):
print("正在读取" + file_name + "的第" + str(sheet_num + 1) + "个标签...")
file_value = get_file_value(file_name, sheet_num)
all_sheet_value[sheet_num].append(file_value) for file_name in allxls1:
all_sheet_value1.append([])
for sheet_num in range(0, first_file_sheet_num):
print("正在读取" + file_name + "的第" + str(sheet_num + 1) + "个标签...")
file_value = get_file_value(file_name, sheet_num)
all_sheet_value1[sheet_num].append(file_value) for file_name in allxls2:
all_sheet_value2.append([])
for sheet_num in range(0, first_file_sheet_num):
print("正在读取" + file_name + "的第" + str(sheet_num + 1) + "个标签...")
file_value = get_file_value(file_name, sheet_num)
all_sheet_value2[sheet_num].append(file_value)
#print("file_value:", file_value)
#print(all_sheet_value[0])
print("*************************")
print("*************************")
print("*************************")
#print(all_sheet_value[1])
all_sheet_value3 = all_sheet_value + all_sheet_value1 + all_sheet_value2
print("########################")
print("########################")
print("########################")
print(all_sheet_value3)
num = -1
sheet_index = -1
#print(sheet_name)
#print(all_sheet_value[value_index])
# 将列表all_sheet_value的内容写入目标excel
for sheet in (all_sheet_value3):
sheet_index += 1
end_xls_sheet = endxls.add_worksheet(sheet_name[sheet_index])
num += 1
num1 = -1
for sheet1 in sheet:
for sheet2 in sheet1:
print(type(sheet2))
num1 += 1
num2 = -1
for sheet3 in sheet2:
num2 += 1
# 在第num1行的第num2列写入sheet3的内容
end_xls_sheet.write(num1, num2, sheet3) endxls.close()
多个excel文件内容合并到一个excel文件的多个sheet的小程序的更多相关文章
- [原创]VBA实现汇总excel,将多个Excel文件内容复制到一个Excel文件中
功能:遍历用户指定的文件夹,把文件夹中所有的excel文件的第一个表格的数据复制到本excel文件中.注意,每个excel文件中有效数据行的判断标准是A列的最后一个有数据的单元格的行号,比如A列到第1 ...
- 多个.txt文件合并到一个.txt文件中
如果想要将多个.txt文件合并到一个.txt文件中,可以先将所有.txt文件放到一个文件夹中,然后使用.bat文件完成任务. 例如,在一个文件夹下有1.txt, 2.txt, 3.txt三个文件,想把 ...
- 把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中
把当前文件夹的xlsx或xls文件合并到一个excel文件中的不同sheet中步骤如下: 把需要合并的文件放到同一个文件夹 在该文件夹中新建一个excel文件 打开新建的excel问价,把鼠标放到sh ...
- C# 将多个office文件转换及合并为一个PDF文件
PDF文件介绍 PDF(Portable Document Format )文件源于20世纪90年代初期,如今早已成为了一种最流行的的文件格式之一.因为PDF文件有很多优点: 支持跨平台和跨设备共享 ...
- 在VS中让一个JS文件智能提示另一个JS文件中的成员
“在VS中如何让一个JS文件智能提示另一个JS文件中的成员” 有时候会有这种情况:当我的一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1. ...
- ios本地文件内容读取,.json .plist 文件读写
ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...
- JavaScript进阶(二)在一个JS文件中引用另一个JS文件
在一个JS文件中引用另一个JS文件 转载地址:http://blog.csdn.net/zndxlxm/article/details/7875787 方法一 在调用文件的顶部加入下例代码 ...
- linux面试题:删除一个目录下的所有文件,但保留一个指定文件
面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10 十个文件 [root@oldboy xx]# touch ...
- python实践项目十:zipfile模块-将一个文件夹备份到一个 ZIP 文件
描述:将指定路径下的某文件夹备份到一个zip文件 代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # backupToZip - Copies an ent ...
随机推荐
- EDM邮件营销真的落伍了吗?
很多朋友都觉得EDM邮件营销已经日暮西山了.难道EDM邮件营销真的落伍过时了吗?小编本文为大家讲解一下. 一.有数据为证:目前电子邮件仍然比较活跃,九成以上的用户每天至少查看一封邮件,并且6成以上的人 ...
- EDM概念之A/B分类测试法
相信很多情况下大家都会看到A/B分类测试法这个专业术语,下面博主简要介绍下什么是A/B分类测试法. 这里的A和B主要是指两种不同版本的电子邮件.一般来说,可以将用户分为同等数量的两组,一组发送A版本, ...
- Python基本语法_异常处理详解
目录 目录 异常 异常类型 异常处理 触发异常raise 传递异常 assert语句触发异常 捕获异常tryexceptelse 捕捉多个异常 tryfinally语句 自定义异常 withas触发异 ...
- Selenium学习之==>18种定位方式的使用
Selenium的定位方式一共有18种,单数8种,复数8种,最后两种是前面这16种的底层封装 单数形式8种 # 1.id定位 al = driver.find_element_by_id('i1') ...
- 如何比较两个txt文件内容的细微差别
如何比较两个txt文件内容的细微差别 https://jingyan.baidu.com/article/19020a0a1dd04a529c284272.html 听语音 | 浏览:3500 | 更 ...
- c++ 加载库错误问题解决
转载自:http://blog.csdn.net/sahusoft/article/details/7388617 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: ...
- 如何有效的使用google进行搜索的20个技能
每天有数百万人因为各种各样的原因使用谷歌搜索.学生们把它用于学校,商人们把它用于研究,还有数百万人把它用于娱乐.但大多数人可能没有充分利用谷歌搜索的潜力. 想要更有效地使用谷歌搜索,并得到您想要的搜索 ...
- Java数据结构之栈(Stack)
1.栈(Stack)的介绍 栈是一个先入后出(FILO:First In Last Out)的有序列表. 栈(Stack)是限制线性表中元素的插入和删除只能在同一端进行的一种特殊线性表. 允许插入和删 ...
- C++中的const分析
1,C 语言中的 const: 1,const 修饰的变量是只读的,本质还是变量: 1,C 语言中的 const 使变量具有只读属性: 2,const 只在编译期有用,在运行期无用: 3,const ...
- 如何去完成一个html网页
其实我也是菜鸟一个,不过我还是想说说,昨晚看的视频好回忆回忆. 看到这样一个网页我们要怎么入手,这个就要像庖丁解牛一样,我们要对它的各个位置都要了解,分析出页面的结构,要有一个总体的把握,先把这个页面 ...