Pandas合并excel文件错位现象的解决

【Python床头书】python pd.concat函数详解 函数是pandas库中用于连接多个DataFrame或Series对象的强大函数。它可以在水平方向(列连接)或垂直方向(行连接)上连接数据,并提供了各种参数来控制连接方式和结果。参数,忽略连接后结果中的索引,重新生成连续的整数索引,得到了新的DataFrame对象。输出结果显示了垂直拼接后的DataFrame对象。输出结果显示了水平拼接后的DataFrame对象。输出结果显示了忽略索引后的DataFrame对象。的列进行水平拼接,得到了新的DataFrame对象。的末尾,得到了新的DataFrame对象。 阅读详情

Pandas合并excel文件错位现象的解决

一、文件错位现象

在这里插入图片描述
在这里插入图片描述

说明:原本想将多列变为一列,以便后续的可视化处理,但是合并后出现这样的错位

原本试图通过pandas的cancat()方法中的参数解决,但是没有效果。

pandas的cancat()方法参数解释,参见《pandas数据合并与重塑(pd.concat篇)》,链接: link.

二、原因

既然参数中找不到解决问题的原因,我就又重新复习了一遍cancat()方法。
原本以为是excel文件索引的问题,即假设:第一个文件的列为1-10,则合并的第二个文件的列索引应为11-20,如此循环。

但是在其他的excel文件合并时,列索引可以相同,合并后依旧是沿着原列索引后面增加,完全不需要人工设置列索引之间的对齐。

重新看了一下表头,发现合并后的excel是以原excel文件的表头作为新的汇总表的表头的,接下来的排列也是如此,出现错位,实质上是依据表头的不同而不同的,
因为问题的核心在文件的格式不同,即不是同一个数据集,或者说格式没有整齐划一,表头没有一致,这个是我的锅,原本写入excel中就是希望表头后补可能更好合并

修改后,先写入excel文件的表头,保证每个excel文件的表头一致,然后进行合并

三、解决

原来试图简化的代码为:

#ws.cell(row=1, column=1, value='分词')
#ws.cell(row=1, column=2, value='频率')
#ws.cell(row=1, column=3, value='文书名')

ws.cell(row=i + 1, column=1, value=datas[1][i][0])
ws.cell(row=i + 1, column=2, value=datas[1][i][1])
ws.cell(row=i + 1, column=3, value=datas[0])

将表头的内容添加进去即可

ws.cell(row=1, column=1, value='分词')
ws.cell(row=1, column=2, value='频率')
ws.cell(row=1, column=3, value='文书名')

ws.cell(row=i + 1, column=1, value=datas[1][i][0])
ws.cell(row=i + 1, column=2, value=datas[1][i][1])
ws.cell(row=i + 1, column=3, value=datas[0])

生成的excel文件内容(没有添加表头前):

在这里插入图片描述

添加表头后:
在这里插入图片描述

合并:

def xlsx_concat(self):
    """xlsx文档合并"""

    input_files = 'J:\PyCharm项目\项目\项目二_文书内容提取\输出模块\可视化输出\\xslx写入'
    print('读取到了第一个文件.............................................')
    output_file = 'J:\PyCharm项目\项目\项目二_文书内容提取\输出模块\可视化输出\\xslx写入\\test汇总表.xlsx'
    #需要创建,否则没有输出对象
    print('读取到了第二个文件.............................................')
    all_workbook = glob.glob(os.path.join(input_files, '*.xlsx'))
    #print(all_workbook)

    data_frames = []
    '''重点来了,遍历工作簿、工作表,簿为列表,表为字典'''
    for workbook in all_workbook:
        all_sheets = pd.read_excel(workbook, sheet_name=None, index_col=None)
        for worksheet_name, data in all_sheets.items():
            data_frames.append(data)#sheets内容为表名与表内容
    all_data = pd.concat(data_frames)#axis即竖连接还是横连接
    print(data_frames)
    writer = pd.ExcelWriter(output_file)
    all_data.to_excel(writer, sheet_name='all_output', index=False)
    writer.save()

在这里插入图片描述

在这里插入图片描述

【python床头书系列】Python pandas pd.concat函数详解 我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。的列进行水平拼接,得到了新的DataFrame对象。 阅读详情

相关推荐

pd.concat()函数sort=true和false及ignore_index参数介绍

pd.concat()函数sort=true和false

weixin_46713695的博客 8188

[Pandas] 数据连接pd.concat

本文主要讲解数据连接pd.concat

Hudas的博客 2万+

Python+pandas批量合并Excel表格实战指南

Excel表格批量合并是办公自动化中的基础数据整合操作,其核心在于理解文件系统遍历、结构化数据读取、纵向堆叠逻辑与格式兼容性原理。借助Python生态中的pandas(数据处理中枢)和os/pathlib(跨平台路径管理),可稳定实现多源Excel的自动发现、标准化清洗、智能列对齐与高效写入,显著降低人工复制粘贴带来的格式错乱、漏行缺列及版本兼容风险。该方案广泛适用于财务报表汇总、HR考勤整合、销售数据归集等高频场景,尤其适合零基础用户快速落地——无需编程经验,仅需掌握读取→清洗→concat→保存四步链路

weixin_30512043的博客 401

【pandas数据合并一】:pd.concat()用法

一、简介 pd.concat()函数可以沿着指定的轴将多个dataframe或者series拼接到一起。 基本语法: pd.concat( objs, axis=0, join=‘outer’, join_axes=None,ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True,) objs 表示需要连接的对象,比如:[df1, df2],需要将合并的数据

xue_11的博客 10万+

Python批量合并Excel实战:pandas智能清洗与容错汇总

Excel批量合并是数据工程中高频基础任务,本质是多源异构表格数据的统一接入、类型对齐与结构标准化。其核心原理在于突破默认读取逻辑,通过动态表头识别、显式数据类型声明、隐形字符清洗和混合日期解析等技术手段,实现鲁棒性聚合。该能力直接支撑销售日报汇总、财务凭证归集、运营周报生成等典型业务场景,显著提升数据准备效率并降低人工干预风险。本文聚焦pandas与openpyxl协同架构下的真实落地细节,覆盖文件探查、智能适配、安全聚合与样式导出全流程,特别强化对订单号前导零保留、日期格式自动兼容、异常空格清洗等高频痛

weixin_30325971的博客 422

Python精准读取Excel指定行列:pandas与openpyxl高效协同实战

在数据处理领域,Excel文件是常见的数据存储格式,其结构化特性使得数据读取成为关键环节。数据读取的核心原理在于解析文件结构并提取目标信息,这直接关系到处理效率与资源消耗。精准读取技术通过指定行列范围,避免了全量加载,显著提升了处理速度并降低了内存占用,尤其适用于大型报表和定期生成的数据模板。在实际应用场景中,财务分析、运营报表等需要从海量数据中快速提取子集的任务尤为受益。本文聚焦于pandas与openpyxl的协同使用,深入探讨了如何通过usecols、skiprows等参数实现高效读取,并针对合并单元

weixin_30788239的博客 274

pandas向下合并多个excel文件,注意concat合并出现错位混乱不对齐

一、所有excel放在文件夹合并:向下合并 import pandas as pd import os def concat_excel(path,save_name): file_name_list = os.listdir(path) data_list = [] for i in file_name_list: if '.xlsx' in i: data = pd.read_excel(path+'\\'+i,header=None)

云霄IT的博客 3155

Excel批量合并工具:高效办公与数据分析必备

Excel数据处理是现代办公和数据分析中的基础需求,尤其在跨部门协作和周期性报表场景下。通过批量合并技术,可以解决手动操作效率低、易出错的问题。其核心原理是利用编程脚本或专业工具实现数据结构对齐与自动化处理,显著提升数据整合效率。在金融分析、科研数据处理、销售报表汇总等场景中,该技术能确保数据一致性并减少人工干预。本文重点探讨Python pandas和VBA等主流方案,以及处理大文件时的性能优化技巧,为需要定期合并Excel的用户提供实用指南。

weixin_30787531的博客 439

如何快速合并多个CSV / Excel / txt 文件

最近,一个师姐(医学博士)拿到一批相同表头的 CSV 文件,想要它们合并在一起。不会写代码,只能用 EXCEL 打开文件,手动粘贴复制。 但是,又遇到问题了,她的 EXCEL 非常大,有的一个都有 500MB,电脑根本打不开,所有的合并在一起将近 3G 大小。 电脑直接崩溃!然后… 找到我 接下来分享两招合并文件的方法! 文章目录1 通过 `cat` 合并文件2 使用 pandas 合并文件 1 通过 cat 合并文件 使用环境: Linux系统。其他系统没有这个命令 cat(英文全拼:concat

Tina姐的博客 2864

Python Excel转JSON实战:pandas与openpyxl协同处理脏数据

Excel转JSON是企业数据集成中的基础但高危环节,本质是将非结构化表格数据映射为标准API可用的结构化JSON。其技术难点不在语法层面,而在于真实业务Excel普遍存在的合并单元格、混合类型、隐藏格式、公式依赖等脏数据问题。pandas擅长向量化清洗却对结构异常零容忍,openpyxl提供单元格级控制力但开发成本陡增——二者协同分层处理(openpyxl定位+解析,pandas清洗+转换)成为工业级方案的核心范式。该路径兼顾可维护性、可审计性与容错能力,广泛应用于制造业数据中台对接、销售报表自动化、ER

weixin_30329623的博客 510

Excel合并单元格数据导入解决方案与实战

经过这一番折腾,我们得出几个核心结论:合并单元格本身没有错,它是人类表达结构的一种自然方式。问题出在我们试图用机器语言去理解一种视觉语言,却没有做好翻译工作。真正的数据工程师,不仅要会写代码,更要懂语义的桥梁设计。当我们能够精准还原每一个被“隐藏”的值,才能说我们真正掌握了数据的力量。下次再看到那份漂亮的 Excel 报表时,别急着夸美工,先问问一句:“这份表,能跑自动化吗?” 😏✨延伸思考题- 如果合并区域内部有部分单元格手动填了值,该怎么处理?

weixin_42356162的博客 1054

Pandas读取合并单元格Excel表头:3种方法解决数据清洗难题

在数据处理领域,Excel合并单元格是常见的报表格式,但其非标准结构给程序化读取带来挑战。从技术原理看,合并单元格仅左上角存储实际值,其余位置为NaN,导致pandas等工具读取时列名错位。这一问题的解决对自动化数据流水线至关重要,能显著提升财务、电商等场景下多源报表的整合效率。通过openpyxl底层解析、pandas向前填充及综合健壮策略,可有效处理多层表头结构,实现数据清洗与结构重建。本文结合openpyxl引擎与pandas库,详细解析了合并单元格表头的处理技巧,为数据工程师提供实用解决方案。

weixin_30603633的博客 418

Excel多文件与多工作表智能合并工具——办公自动化高效解决方案

简介:在办公场景中,面对大量分散的Excel文件和工作簿,数据整合常耗费大量时间。本工具专为实现Excel多文件、多工作表(sheet)的快速合并而设计,支持一键读取指定文件夹内所有Excel数据,自动整合多个结构相同的工作簿或工作表,适用于财务汇总、销售数据分析等场景。工具免费使用、无操作次数限制,可将多个源文件数据无缝合并至主文件,保持格式一致,避免手动复制带来的错误。同时支持数据整合、统一分析及自动化批处理,显著提升工作效率。使用时需确保源文件格式统一,并注意敏感数据的安全管理。

weixin_33597080的博客 1036

update 和 left join 合并_【Python】合并一个文件夹中所有的excel文件

我要同事给了我一个文档,上个月的数据,一天一个excel文档。我想用pandas合并之后再与另一个数据源内连接之后算我需要的数据。这些文档长得是这样的:如果一个一个手动写read_excel,还要定义df[i],我估计我会先疯了。我问同事有没有简单的办法。他告诉我要一个一个拼接,我直接拒绝接受这个答案。百度半天也没有合适的,我决定自己摸索了。给自己的不要脸的精神点个赞。import pa...

weixin_40000457的博客 147

RK3588开发板量产前必做:24小时DDR压力测试到底在测什么?(附ArmSoM-W3测试脚本解析)

本文深入解析RK3588开发板量产前的24小时DDR压力测试,揭示其核心价值与技术原理。通过memtester、stressapptest和变频测试的组合使用,全面验证DDR内存稳定性。特别介绍ArmSoM-W3测试脚本的创新设计,包括并行测试架构和异常熔断机制,为开发者提供可靠的量产测试方案。

weixin_30325487的博客 455

linux操作系统使用以太网连接ubuntu,设置固定ipv4

首先,您需要确定要配置的网络接口。可以使用ifconfig -a或ip addr命令来列出当前系统上的所有网络接口及其相关信息。找到您要配置的网络接口名称,例如eth0、ens33或enp0s3;保存并关闭文件后,您需要重启网络服务以使更改生效。在linux操作系统中,要使用交换机连接以太网可以直接使用交互界面;如果你的操作系统没有交互界面,你可以使用命令方式配置;点击ipv4,方式为手动,可以设置ip和子网了;开头,后接网络接口名称。第三步:点击有线最右边圆形控件;第二步:点击有线设置;

2301_79311842的博客 2406

python合并不同列序、不同表头的Excel

这里使用的是python3.9.6,IDLE编辑器,适合初学者,页面简洁,方便易上手。安装成功如下图:配置各种库需要pip命令,若提示既不是内部也不是外部命令,则需要加一个环境变量(高级设置里添加),成功添加之后的pip如下:安装pandas、openpyxl等实现读写、添加Excel功能的库pandas库:已安装成功:其他库类似操作,提示缺啥安装啥。

weian_h的博客 1298

Matlab实战:水声信号DEMON谱分析从入门到精通(附完整源码)

本文详细介绍了使用Matlab进行水声信号DEMON谱分析的完整流程,从基础理论到实战应用,涵盖信号预处理、包络提取、频谱分析等关键步骤,并附完整源码。特别针对水声通信中的低信噪比环境,提供了多种优化方案和性能提升技巧,帮助读者快速掌握这一水下目标检测的核心技术。

gamma的博客 297

影刀RPA 多Excel文件合并:批量汇总数据

摘要 本文介绍了使用Python合并多个Excel文件的3种方法:1)pandas合并同结构文件,适合表头一致的情况;2)openpyxl保留格式合并,适合需要保持原格式的场景;3)按Sheet分别合并,适用于多Sheet文件。文章还提供了智能合并的完整流程,包含错误处理和自动读取功能。每种方法都附有完整代码示例,可根据不同需求选择适合的合并方式,帮助用户高效汇总月度报表、分公司数据等批量Excel文件。

RPA专家,自动化流程机器人,定制代写,指导教学。 246

Qlib上手学习记录

Qlib 是一个面向人工智能的量化投资平台,其目标是通过在量化投资中运用AI技术来发掘潜力、赋能研究并创造价值,从探索投资策略到实现产品化部署。该平台支持多种机器学习建模范式,包括有监督学习、市场动态建模以及强化学习等。真的是走了很多弯路step 1. 使用 ananconda 建立环境,要主要必须是 python 3.8失败的下了以后 进入 glib folder 后执行是会报错的,不管你还什么source 都一样,整了很久使用前最好看下这个。

chenchihwen的专栏 3100

【Qualcomm高通音频】音效调试_录音文件播放有杂音,如何定位原因?

一、录音播放数据处理过程介绍 (1)TX方向 麦克风(硅麦克风或者主机体麦克风)采集模拟音频信号,经过内部CODEC芯片中的adc转换为数字信号,在经过高通音频DSP处理音效后编码为wav/aac/amr/mp3等格式文件。 (2)RX方向 音频文件经过解码、重采样还原为pcm数据,经过DSP处理音效后送到内部CODEC,然后经过DAC转换为模拟信号,送到喇叭。 二、分析步骤 1...

crow_ch的博客 5976

Excel转JSON实战:解决合并单元格、中文乱码与日期格式三大痛点

Excel转JSON是企业数据集成中的高频基础任务,本质是将非结构化表格数据映射为严格契约化的JSON树形结构。其核心难点在于Excel固有的‘人本设计’(如合并单元格、视觉编码、公式残留)与JSON的‘机器友好’语义之间存在根本性冲突。技术实现需跨越数据清洗、类型强转、时区归一、特殊字符转义等关键环节,尤其要应对中文路径解析失败、NaN/NaT误输出、换行符导致JSON解析崩溃等典型故障。本文聚焦Python生态下的pandas、openpyxl与excel2json-3三大工具链,提供可落地的鲁棒转换方

weixin_30755393的博客 403

SCDM学习笔记(5)

几何前处理后一般会获得几何的固体区域,然而当进行流体仿真的时候是对流体的区域进行计算的。因此,如何快速地从固体的几何模型获得流体的几何模型是一个重点问题。 流体问题一般可分为内流场与外流场问题,对于内流场问题,SCDM有专门的处理工具 工程图纸大致如下: 要创建这个几何的大致策略是画出截面的圆形,再画出轴线,通过扫掠的方式建立几何。 以上是mixing的国体区域,通过体积抽...

diyhoo的编程小屋 6359

Python批量合并Excel:生产级数据管道构建指南

Excel批量合并本质是构建可复用、可审计、可维护的数据管道,而非简单文件拼接。其核心在于理解pandas读写原理、os.path路径安全遍历,以及通过数据契约保障业务可用性。技术上需突破默认read_excel行为,精准控制sheet_name、dtype、na_values等参数以应对脏数据;工程上强调os.walk替代glob实现业务语义过滤,并在concat前完成列名标准化、类型校验与缺失值统一。该方案广泛适用于财务报表整合、销售数据归集、BI上游数据准备等场景,是中小企业从Excel手工操作迈向自

weixin_33788244的博客 335

第五节_PySide6基本窗口控件_主窗口和标签

本文介绍了PySide6中主窗口和标签控件的使用。主要内容包括: 窗口控件分类: QWidget是基础窗口部件,可作为独立窗口或子部件 QMainWindow提供标准应用程序框架,包含菜单栏、工具栏等 QDialog用于对话框,支持模态交互 主窗口创建: 演示了如何创建QMainWindow子类 实现了窗口居中、设置图标、状态栏等功能 提供了窗口几何信息的获取方法 QLabel标签控件: 继承自QFrame类 用于显示文本或图像 文章通过代码示例详细说明了主窗口的创建和使用方法,包括位置控制、图标设置等常见

su桥木的博客 1024

基于相场法模拟金属铜的晶粒的长大过程附matlab完整代码

晶粒生长是一种重要的材料形态演化过程,对于材料的性能和制备有着非常重要的影响。相场法是一种将材料结构和热力学性质联系起来的方法,它能够有效地模拟晶粒的长大过程并预测材料的结构和性能。本文所采用的相场模型是基于Cahn-Hilliard方程和Allen-Cahn方程的二次相场模型。其中,Cahn-Hilliard方程描述了晶界的自由能密度,而Allen-Cahn方程则描述了晶粒的彼此之间的界面能密度。本篇文章将介绍如何使用相场法模拟金属铜的晶粒的长大过程,并提供完整的MATLAB代码供读者参考。

m0_47037246的博客 1383
上一篇: remove方法缺陷补全:续《列表数据清洗遇到问题的记录——set用法和remove方法的缺陷》
下一篇: selenium的namespace错误与无法定位:NamespaceError: An attempt was made to create...andUnable to locate elemen
python__reported
博客等级 码龄7年 249粉丝 141原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值