使用pd.read_csv读取.mpr/.mps/.mpt文件出现ParserError如何解决
问题产生原因汇总
分隔符规则不匹配
你指定delimiter='\t'作为分隔符,但你使用的三类文件头部元数据和实际数据段的分隔规则不一致:前8行解析后仅得到1个字段,pandas默认按前面的字段数预期后续行结构,第9行实际解析得到2个字段,就触发了字段数不匹配的ParserError。这类电化学输出文件经常会混用制表符、空格作为分隔符,部分行甚至存在不规则的缩进,都会导致分隔符解析失效。header与skiprows参数的计数逻辑冲突
header=55的计数规则是从0开始统计行号,意味着将第56行(自然行计数)设为列名。如果你的有效数据起始位置晚于你设置的header行,或者你添加的skiprows参数跳过范围覆盖了所有有效数据行,就会出现仅能读取列名、无有效数据返回的情况。未过滤注释行
你提到的三类格式文件通常会在数据段插入#、!开头的注释行,你未指定comment参数的情况下,pandas会将这类注释行作为普通数据行解析,也会触发字段数不匹配的报错,甚至干扰有效数据的读取范围判定。
内容的提问来源于stack exchange,提问作者user3116942
相关产品推荐
相关产品推荐

