python 合并多个excel文件

使用 openpyxl

思路:

  • 读取n个excel的文件,存储在一个二维数组中,注意需要转置。
  • 将二维数组的数据写入excel。

安装软件:

pip install openpyxl

源代码:

import os
import openpyxl
# 将n个excel文件数据合并到一个excel# 读取n个excel文件数据,并且合并到一个二维数组,每个excel只读取A列,且行数保持一样
def merge(n):data = []for i in range(n):data_file_path = os.path.join('data', f'data{i + 1}.xlsx')# 返回一个workbook数据类型的值workbook = openpyxl.load_workbook(data_file_path)sheet = workbook.active# 取A列数据cell = sheet['A']column = []for j in cell:column.append(j.value)data.append(column)# print(data)# 转置transpose_data = list(map(list, zip(*data)))# print(transpose_data)merge_file_path = os.path.join('data', 'merge.xlsx')save(transpose_data, merge_file_path)# 将二维数据数据保存到excel文件
def save(data, file_path):workbook = openpyxl.Workbook()sheet = workbook.activesheet.title = 'Sheet1'workbook.save(file_path)for row in data:sheet.append(row)workbook.save(file_path)if __name__ == '__main__':merge(10)

效果截图:

在这里插入图片描述

使用 pandas

思路:

  • 读取n个excel的文件,存储在一个二维数组中,注意需要转置。
  • 将二维数组的数据写入excel。

安装软件:

pip install pandas

源代码:

#!/usr/bin/python3
# -*- coding: utf-8 -*-import pandas as pd
import os# 将n个excel文件数据合并到一个excel# 读取n个excel文件数据,并且合并到一个二维数组,每个excel只读取A列,且行数保持一样
def merge(n):data = []for i in range(n):data_file_path = os.path.join('data', f'data{i + 1}.xlsx')df = pd.read_excel(data_file_path, index_col=None, header=None, sheet_name='Sheet1')# 仅获取第0列数据data.append(df.values[:, 0])# print(data)# 转置transpose_data = list(map(list, zip(*data)))# print(transpose_data)merge_file_path = os.path.join('data', 'merge.xlsx')save(transpose_data, merge_file_path)# 将二维数据数据保存到excel文件
def save(data, file_path):df = pd.DataFrame(data)# 写入本地excel文件df.to_excel(file_path, sheet_name="Sheet1", index=False, header=False)# main函数
if __name__ == '__main__':merge(10)

参考

  • https://zhuanlan.zhihu.com/p/353669230
  • https://blog.csdn.net/weixin_44288604/article/details/120731317
  • https://zhuanlan.zhihu.com/p/363810440
  • https://baijiahao.baidu.com/s?id=1737230506657192730&wfr=spider&for=pc
  • 二维数组转置

源代码位置:

  • 源代码-openpyxl
  • 源代码-pandas
  • github地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/79853.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟实现消息队列项目(系列4) -- 服务器模块(内存管理)

目录 前言 1. 创建MemoryDataCenter 2. 封装Exchange 和 Queue方法 3. 封装Binding操作 4. 封装Message操作 4.1 封装消息中心集合messageMap 4.2 封装消息与队列的关系集合queueMessageMap的操作 5. 封装未确认消息集合waitMessage的操作 6. 从硬盘中恢复数据到内存中 7. Memo…

Leetcode 每日一题 - 删除有序数组中的重复项题 #算法 #Java

1.1 题目 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff…

行业追踪,2023-08-07

自动复盘 2023-08-07 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

虹科分享 | 新时代“救命神器”:看AR眼镜如何应用于紧急救险场景

从工业时代到如今迎来的“体验时代”,体验即内容,5G、AI、空间计算技术的突破,为各行各业创建了丰富的内容体验模式,让人们能够听之、触之、与之交互。AR是体验时代最具潜力的新技术,在“应急”场景中更是成为了我们在…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

云计算——ACA学习 云计算概述

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​ 目录 写在前面 上章回顾 本章简介 本章目标 一.云计算产生背景 1.信息时代的重点变革…

【VUE】前端实现防篡改的水印

效果 水印的作用 图片加水印的操作一般是由后端来完成,有些站点保护的知识产权的类型可能比较多,不仅仅是图片,可能还有视频、文字等等,对于不同类型的对象添加水印后端操作比较复杂,所有有些站点逐步的让前端去进行水…

认识所有权

专栏简介:本专栏作为Rust语言的入门级的文章,目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言,虽然历史没有C、和python历史悠远,但是它的优点可以说是非常的多,既继承了C运行速度,还拥有了Java…

前沿分享-鱼形机器人

可能并不太前沿了,是21年底的新闻了,但是看见了就顺便发一下吧。 大概就是,通过在pH响应型水凝胶中编码不同的膨胀速率而构建了一种环境适应型变形微机器人,让微型机器人直接向癌细胞输送药物从而减轻药物带来副作用。 技术原理是&#xff0c…

拦截器对接口细粒度权限校验

文章目录 一、逻辑分析二、校验规则1.规则类型2.规则划分3.规则配置信息4.规则案例说明5.规则加载 三、拦截器定义1.自定义拦截器2.注册拦截器 四、获取请求参数1.获取get提交方式参数2.获取post提交方式参数(1)定义RequestWrapper类(2&#…

Flink正常消费一段时间后,大量反压,看着像卡住了,但又没有报错。

文章目录 前言一、原因分析二、解决方案 前言 前面我也有提到,发现flink运行一段时间后,不再继续消费的问题。这个问题困扰了我非常久,一开始也很迷茫。又因为比较忙,所以一直没有时间能够去寻找答案,只是通过每天重启…

IDEA中maven项目失效,pom.xml文件橙色/橘色

IDEA中maven项目失效,pom.xml文件橙色/橘色 IDEA中Maven项目失效 IDEA中创建的maven项目中的文件夹都变成普通格式,pom.xml变成橙色 右键点击橙色的pom.xml文件,选择add as maven project maven项目开始重新导入相应依赖,恢复…

字符串查找匹配算法

概述 字符串匹配(查找)是字符串的一种基本操作:给定带匹配查询的文本串S和目标子串T,T也叫做模式串。在文本S中找到一个和模式T相符的子字符串,并返回该子字符串在文本中的位置。 暴力匹配 Brute Force Algorithm&a…

安全狗V3.512048版本绕过

安全狗安装 安全狗详细安装、遇见无此服务器解决、在windows中命令提示符中进入查看指定文件夹手动启动Apache_安全狗只支持 glibc_2.14 但是服务器是2.17_黑色地带(崛起)的博客-CSDN博客 安全狗 safedogwzApacheV3.5.exe 右键电脑右下角安全狗图标-->选择插件-->安装…

vscode中无法使用git解决方案

1 首先查看git安装目录 where git 2 找到bash.exe 的路径 比如:C:/Users/Wangzd/AppData/Local/Programs/Git/bin/bash 3 找到vscode的配置项setting.json 4 添加 "terminal.integrated.shell.windowns": "C:/Users/Wangzd/AppData/Local/Pr…

架构训练营学习笔记:6-2 微服务基础选型

基础选型 微服务基础设施架构 优先级 其中,核心 就是服务注册、服务发现、服务路由。 模式1-嵌入SDK 模式2-反向代理式 模式3-网络代理式(Service Mesh) 模式对比 常见微服务框架选择 嵌入SDK-dubbo Spring Cloud 反向代理式 APISIX …

跨境B2B2C多用户购物网站源码快速部署

​ 搭建跨境B2B2C多用户购物网站需要以下步骤: 1. 确定业务模式和定位:确定网站的业务模式,包括跨境B2B2C的商业模式以及目标用户定位。 2. 营业执照和域名注册:根据当地法律要求,注册一家具有法人资格的公司&#xff…

基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法

跨尺度预测模式(The Model for Prediction Across Scales - MPAS)是由洛斯阿拉莫斯实验室和美国国家大气研究中心(NCAR)共同开发,其由3个部分组成,分别称为 MPAS-A(大气模型)、MPAS-O(海洋模型&…

一百四十一、Kettle——kettle8.2在Windows本地开启carte服务以及配置子服务器

一、目的 在kettle建好共享资源库后,为了给在服务器上部署kettle的carte服务躺雷,先在Windows本地测试一下怎么玩carte服务 二、Kettle版本以及在Windows本地安装路径 kettle版本是8.2 pdi-ce-8.2.0.0-342 kettle本地安装路径是D:\j…

全面讲解最小二乘法

常见的最小二乘法我们就不多说了,下面主要介绍一下最小二乘法的一些先进方法。 正则化的最小二乘法 在使用常见的最小二乘法进行回归分析时,常常会遇到过拟合的问题,也就是在训练数据集上表现的很好,但是在测试数据集上表现的很…