Python如何将多个重名abc列的数据追加合并为单个abc列
多重复名列合并为单列实现方案
方案1:Python Pandas 实现
适合需要后续数据加工的场景,代码示例如下:
import pandas as pd # 读取空白符分隔的文本数据,重复列读取后会自动带.1/.2后缀 df = pd.read_csv("你的文件路径", sep="\s+") # 筛选所有对应原abc列的字段 abc_columns = [col for col in df.columns if col.startswith("abc")] # 拼接多列abc的值为单列 merged_abc = pd.concat([df[col] for col in abc_columns], ignore_index=True) # 生成新的自增no列,从1开始 result = pd.DataFrame({"no": range(1, len(merged_abc)+1), "abc": merged_abc}) # 打印结果 print(result.to_string(index=False)) # 保存到文件可使用:result.to_csv("输出文件路径", sep="\t", index=False)
方案2:AWK 命令行实现
适合纯文本快速处理,无需安装额外依赖,命令如下:
awk 'NR==1{print "no\tabc"} NR>1{for(i=2;i<=NF;i++) arr[++cnt]=$i} END{for(j=1;j<=cnt;j++) print j"\t"arr[j]}' 你的输入文件名
执行后直接输出符合要求的结果。
内容的提问来源于stack exchange,提问作者Crist2002
相关产品推荐
相关产品推荐

