如何处理空格分隔、标题格式特殊的天线仿真结果数据?
自动化处理天线仿真数据方案
可以通过以下步骤实现全自动化处理,无需手动命名列或删除行:
完整代码
import pandas as pd # 1. 读取原始标题行(保留要求的`Var(extraInfo)[unit]`格式) with open('Results.txt', 'r') as f: # 读取第一行并去除首尾空白,按空格分割标题(支持多空格分隔) column_headers = f.readline().strip().split() # 2. 读取数据,自动跳过第二行的`---`分隔行,同时按空格分配数据列 df = pd.read_csv( 'Results.txt', skiprows=[1], # 跳过第二行(索引为1,行号从0开始计数) delim_whitespace=True, header=None ) # 3. 为数据框设置原始标题,并清理可能存在的空列(如果有) df.columns = column_headers df = df.dropna(axis=1, how='all') # 删除全为空的列(对应你之前手动删除的第8列)
代码说明
- 保留原始标题格式:直接读取文件第一行作为列名,原始标题(如
Freq、S11[dB]、S21[dB])完全符合要求的Var(extraInfo)[unit]格式(括号可选的情况也自然兼容),无需额外处理。 - 删除分隔行:通过
skiprows=[1]参数直接跳过第二行的---分隔线,无需手动跳过前两行后再补标题。 - 自动分配数据列:
delim_whitespace=True会自动按任意数量的空格分割数据,确保每一行数据正确对应到标题列。
这样处理后,数据框会自动使用原始仿真结果的标题,无需手动重命名,同时完成了所有要求的操作。
内容的提问来源于stack exchange,提问作者Guilherme Theis
相关产品推荐
相关产品推荐

