如何提取linelists文件输出结果中第三列内容生成独立列表
提取linelists文件指定列的操作方法
针对你要提取第三列(首值为0.002147)生成单独列表的需求,按不同使用场景给可直接复用的方案:
- 终端命令行快速处理(最推荐,适配绝大多数空格/制表符分隔的谱线表文件)
直接用awk命令即可,不需要额外安装工具,自动适配多空格对齐的列格式:awk '{print $3}' 你的输入文件名 > 第三列结果列表.txt如果你拿到的文件前面带若干行表头、说明文字,只需要加个行号判断跳过非数据行即可,比如前2行是说明内容的话,命令改成:
awk 'NR>2 {print $3}' 你的输入文件名 > 第三列结果列表.txt
其中NR>2的数字可以根据你文件里实际的非数据行数调整,执行完可以先看一眼输出文件首行,确认值为0.002147就说明列计数正确。 - Python脚本处理(适合后续要做数值计算、批量处理多文件的场景)
直接运行下面的代码即可,会自动跳过空行、注释行,避免格式不规整导致的报错:col3_values = [] # 替换成你自己的文件路径 input_path = "你的linelists文件路径" output_path = "third_column_list.txt" with open(input_path, "r", encoding="utf-8") as f: for line in f: line_stripped = line.strip() # 跳过空行、#开头的注释/表头行,可根据自己的表头规则调整判断条件 if not line_stripped or line_stripped.startswith("#"): continue col_parts = line_stripped.split() if len(col_parts) >= 3: col3_values.append(col_parts[2]) # 写入单独的列表文件 with open(output_path, "w", encoding="utf-8") as f: for val in col3_values: f.write(f"{val}\n")
注意:计数列的时候从1开始数,不要把列索引从0开始算导致取错列,取完校验首值是否为0.002147即可确认结果正确。
内容的提问来源于stack exchange,提问作者Walker
相关产品推荐
相关产品推荐

