如何用Pandas合并指定列填充空值并导出Excel?
处理DataFrame列合并与空值填充并导出Excel
核心需求
将列38的数据填充到列36的空值处,列45填充到列43,列79填充到列78;完成后删除多余的38、45、78列,最终导出到Excel文件。
实现步骤
- 导入
pandas库处理数据 - 读取非结构化文本文件(根据文本分隔方式调整读取参数)
- 用来源列数据填充目标列空值
- 删除冗余的来源列
- 导出处理后的数据到Excel
完整代码示例
import pandas as pd # 读取非结构化文本文件,根据实际分隔符调整sep参数,比如空格分隔用sep='\s+' df = pd.read_csv('你的输入文件.txt', sep='\s+', header=0) # 填充空值:用列38补列36的空值 df['36'] = df['36'].fillna(df['38']) # 用列45补列43的空值 df['43'] = df['43'].fillna(df['45']) # 用列79补列78的空值,并重命名列78为79以匹配期望输出 df['78'] = df['78'].fillna(df['79']) df.rename(columns={'78': '79'}, inplace=True) # 删除不需要的冗余列 df = df.drop(['38', '45'], axis=1) # 导出到Excel,index=False可移除自动生成的行索引(按需调整) df.to_excel('输出文件.xlsx', index=False)
补充说明
- 读取文本时,
sep参数需匹配你的文本分隔规则:制表符用sep='\t',任意多空格用sep='\s+' fillna()仅填充目标列的空值,不会覆盖已有数据,完全贴合需求
内容的提问来源于stack exchange,提问作者Dhakshika
相关产品推荐
相关产品推荐

