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

如何将含重复分组的单列文本文件转换为多列?

解决数据格式转换的方案

我来帮你搞定这个数据格式转换的问题!你的需求是把堆叠成一列的分组数据,按ID、Na、SK三类分别整理成横向的多列形式,下面给你两种简单易操作的实现方法:

方法一:Python 脚本处理(直观易修改)

这种方法适合大多数场景,代码逻辑清晰,后续可以根据需求调整格式:

# 读取你的文本文件(把'your_file.txt'换成你的实际文件名)
with open('your_file.txt', 'r') as input_file:
    raw_content = input_file.read().strip()

# 按两个空格分割出各个独立的数据组
data_groups = raw_content.split('  ')

# 初始化三个列表,分别存储三类数据
id_entries = []
na_entries = []
sk_entries = []

# 逐个处理每个数据组,提取对应内容
for group in data_groups:
    # 把单个组拆分成独立的元素(比如['ID', '1', 'Na', '2', 'SK', '3'])
    elements = group.split()
    # 按位置提取并拼接成你需要的格式(比如"ID 1")
    id_entries.append(f"{elements[0]} {elements[1]}")
    na_entries.append(f"{elements[2]} {elements[3]}")
    sk_entries.append(f"{elements[4]} {elements[5]}")

# 把同类别内容拼接成最终的字符串
formatted_id = ' '.join(id_entries)
formatted_na = ' '.join(na_entries)
formatted_sk = ' '.join(sk_entries)

# 打印结果或者写入文件
print("转换后的结果:")
print(formatted_id)
print(formatted_na)
print(formatted_sk)

# 如果需要保存到文件,执行下面的代码
with open('formatted_result.txt', 'w') as output_file:
    output_file.write(f"{formatted_id}\n{formatted_na}\n{formatted_sk}")

代码说明:

  1. 首先读取文件内容,用两个空格作为分隔符,把原始数据拆分成一个个独立的ID-Na-SK组;
  2. 对每个组再按单个空格拆分,提取出每个类别的键值对;
  3. 把同一类别的键值对收集到列表中,最后用空格连接成你需要的横向格式;
  4. 最终结果可以直接打印,也可以写入新的文本文件。

方法二:命令行 awk 工具处理(适合快速批量操作)

如果你习惯用命令行,可以直接用awk工具快速处理,无需编写脚本:

# 替换input.txt为你的原始文件名,执行后直接输出结果
awk '{
    split($0, groups, "  ");
    for (i in groups) {
        split(groups[i], parts);
        id = id parts[1]" "parts[2]" ";
        na = na parts[3]" "parts[4]" ";
        sk = sk parts[5]" "parts[6]" ";
    }
} END {
    print id;
    print na;
    print sk;
}' input.txt

执行后会直接在命令行输出转换后的三行内容,你也可以用> output.txt把结果保存到文件。

这两种方法都是扁平处理数据,不会产生嵌套结构,完全符合你的需求~

内容的提问来源于stack exchange,提问作者leshte

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:39:40