如何解决使用NumPy加载.dat文件时的‘got 4 columns instead of 7’错误?
解决numpy加载.dat文件的列数不匹配错误
问题根源
你设置的skip_header=8完全错了!从你贴出的文件内容来看,只有2行以;开头的注释行,强行跳过8行的话,numpy会把数据行当成表头解析——表头行里的括号和空格会被拆成7个“列名”,但实际数据只有4列,自然会报got 4 columns instead of 7的错误。
修正后的代码
import numpy as np import matplotlib.pyplot as plt # 只跳过2行注释,去掉多余的skip_footer(你提供的内容里不需要) data = np.genfromtxt('Data.dat', comments=';', skip_header=2, names=True, dtype=None) print(data)
补充说明
names=True会自动把注释后的第一行(即time (s) motorpos (steps) azimuth (deg) signal_magnitude)作为列名,numpy默认会将连续空白作为分隔符,无需额外指定。- 如果你的实际文件确实有8行注释,那要检查第8行之后的表头行是否和数据行列数一致,确保表头是4个用空白分隔的字段(避免括号和空格被误拆成多个列)。
内容的提问来源于stack exchange,提问作者Hubear
相关产品推荐
相关产品推荐

