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

使用Pandas读取日志文本文件提取前两列时遇ValueError问题的求助

解决日志文件读取与列提取问题

你遇到的这个ValueError其实是因为分隔符设置错了——你的日志文件是用逗号分隔字段的,但你代码里写了sep=" "(空格分隔),这就导致pandas把每一行的内容当成了单个列,自然没法给它分配6个列名啦。

另外,用skiprows=2来跳过注释行虽然可行,但如果日志里的注释行数量有变化的话就不太灵活,推荐用comment='#'参数自动忽略所有以#开头的行,更稳妥。

下面是修正后的代码,刚好能满足你提取前两列转成数组/列表的需求:

import pandas as pd

# 读取文件:指定逗号分隔,自动跳过#开头的注释行,同时用第一行非注释行作为表头
data = pd.read_csv('perflog.txt', sep=",", comment='#')

# 提取第一列和第二列转成列表
x = data['time'].tolist()
y = data['ft'].tolist()

# 如果需要numpy数组的话,可以用:
# import numpy as np
# x = data['time'].to_numpy()
# y = data['ft'].to_numpy()

这样处理后,x就是你要的时间列表[2.0, 3.0, 4.0, 5.0],y对应的是第二列的数值列表,接下来就可以直接用来绘图或者做积分操作啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:02:44