You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas合并Excel文件时出现空行的技术求助:如何删除第6、7行空行(仅合并values1与values2时出现)

解决Pandas合并Excel文件时出现的空行问题

嘿,这个空行问题我之前也碰到过!从你的情况来看,合并values1和values2时出现空行,基本是因为这两个DataFrame对应的原Excel文件里本身就藏着空白行,被Pandas读进来了,而values3的文件刚好没这个问题。下面给你两种解决思路,直接套用就行:

思路一:读取文件时就过滤空行

在读取每个Excel文件的时候,直接删掉所有列都是空值的行,从源头避免空行进入合并流程:

import pandas as pd

ListOri = 'Blocked_Persons_List_original.xls'
NG = 'NG.xlsx'
MB = 'MB.xlsx'

# 读取时直接剔除全空行
df1 = pd.read_excel(ListOri).dropna(how='all')
df2 = pd.read_excel(NG).dropna(how='all')
df3 = pd.read_excel(MB).dropna(how='all')

values1 = df1[["Unique ID","Name","Street of residence","City of residence","Country of residence","Date of birth","Place of birth","Country of birth","Citizenship","Account number/ IBAN","BIC Code","Source","Notice","Reserve 1","Reserve 2","Amount EURO","Currency"]]
values2 = df2[["Name","Account number/ IBAN","BIC Code","Notice"]]
values3 = df3[["Account number/ IBAN","BIC Code","Notice","Reserve 1","Reserve 2"]]

dataframes = [values1, values2, values3]
join = pd.concat(dataframes, ignore_index=True)

# 保险起见,合并后再检查一次全空行
join = join.dropna(how='all')

# 加上index=False,避免输出文件多一列无用的索引
join.to_excel("output.xlsx", index=False)

思路二:合并完成后统一清理空行

如果不想修改读取步骤,也可以在合并完所有DataFrame后,一次性过滤掉空行:

# 你的原有合并代码
dataframes = [values1, values2, values3]
join = pd.concat(dataframes, ignore_index=True)

# 核心:删除所有列都是空值的行
join = join.dropna(how='all')

# 输出时去掉索引列
join.to_excel("output.xlsx", index=False)

特殊情况处理

如果你的空行不是完全空白,而是某些单元格里只有空格(看起来是空的但实际是空格字符),可以先把这些空格替换成空值再过滤:

join = pd.concat(dataframes, ignore_index=True)
# 把所有仅含空格的单元格替换为空值
join = join.replace(r'^\s*$', pd.NA, regex=True)
# 再删除全空行
join = join.dropna(how='all')

join.to_excel("output.xlsx", index=False)

这样处理后,输出文件里的第6、7行空行应该就彻底消失啦!

内容的提问来源于stack exchange,提问作者ivan.stackoverflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 12:42:28