示波器生成的csv使用pandas下read_csv()打开报错 报错: ParserError: Error tokenizing data. C error

示波器生成的csv报错

pandas直接使用示波器生成的csv,结果打不开并报错

报错: ParserError: Error tokenizing data. C error: Expected 2 fields in line 5, saw 17

data = pd.read_csv ( "G:/NEW.csv" )

执行代码。

原因:没有仔细阅读手册,以及对CSV的格式不够了解

解决方案:

data = pd.read_csv ( "G:/NEW.csv",sep='\t' )

CSV中的分割符分为逗号分隔和制表符(TAB)分隔,Pandas中read_csv设置了两种格式,默认逗号分隔符,设置为\t则试图以制表符模式分析

pandas官方文档

其中关于sep属性的描述

sep : str, defaults to ',' for read_csv(), \t for read_table()

Delimiter to use. If sep is None, the C engine cannot automatically detect the separator, but the Python parsing engine can, meaning the latter will be used and automatically detect the separator by Python’s builtin sniffer tool, csv.Sniffer. In addition, separators longer than 1 character and different from '\s+' will be interpreted as regular expressions and will also force the use of the Python parsing engine. Note that regex delimiters are prone to ignoring quoted data. Regex example: '\\r\\t'.

指定分隔符。如果不指定参数,则会尝试使用逗号分隔。分隔符长于一个字符并且不是‘\s+’,将使用python的语法分析器。并且忽略数据中的逗号。正则表达式例子:’\r\t’

参考资料1

参考资料2

这后面还有一个坑,即使打开了也会变成一个对象,用excel打开能观察到所有的数据都挤到了第一列。

解决方法:excel打开另存为逗号分隔符CSV文件,再用read_csv就可以了

急需点赞,各位看官有用的话请帮忙点赞

其他参考资料 Pandas 常见操作详解

^ _ ^

你可能感兴趣的:(python填坑之路)