Python编码格式导致的csv读取错误(pandas.read_csv)

本文记录python小白我今天遇到的这两个问题(csv.reader和pandas.csv_read):

  • pandas模块“CParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2”错误
  • csv模块“line contains NULL byte”错误

今天处理数据时疏忽了,而且还偷懒把数据复制到xlsx保存后,直接修改文件后缀成.csv准备用来读取。之后运行算法要读数据的时候果然问题来了。

import pandas as pd
path = 'water30.csv'
df=pd.read_csv(path)
  • 1
  • 2
  • 3
  • 4

注:后两行可写作df=pd.read_csv('water30.csv')。但由于read_csv本身有好多参数(虽然这里不用), 故写成path习惯好些。 
这样会报错CParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2

我在网上查了好多种解决办法,由于read_csv的参数很多,所以各有其词,我这里遇到的应该也只是其中一种,久寻无果。直到我看到这里说看了模块_csv.c的代码后,发现文件里不能有 “\0”, 所以csv文件不可以是unicode编码的,可以是ANSI。

针对我直接改后缀名的结果是,点击那个.csv打开时就已经提示我: 

也就是这里改后缀并没有把文件格式弄好。所以我选择“另存为”改选了文件格式为之后,读取就不会报错了。

注:有个疑问没有解决,就是那个我“直接改后缀得到的那个.csv”我用记事本打开查看了一下,编码就是ANSI啊。那我就不知道为什么报错了……不过问题倒是暂时解决了。

现在读取到的格式为是个结构体。

Python编码格式导致的csv读取错误的更多相关文章

  1. 解决python编码格式错误问题

    一:前言 遇到问题:print输入汉字时提示错误信息 UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: o ...

  2. 爬虫学习之csv读取和存储

    一.读取 该读取主要使用到csv里面的Reader().DictReader()方法,和引用io里面的StringIO进行对字符串进行封装 在处理网上的csv文件方式主要是有一下几方面: • 手动把C ...

  3. 性能测试--Jmeter随机生成/随机选取/csv读取关键字

    Jmeter随机生成/随机选取/csv读取关键字 一.随机生成关键字 随机生成关键字,需要组件:随机变量配置元件(Random Variable)  该组件的作用是生成字符+随机数字格式的字符串,并保 ...

  4. Python使用Mysql过程中一些错误

    Python使用Mysql过程中一些错误 ssh登录远程服务器 ssh ubuntu@xxx.xxx.xx.xx 第一:ubuntu终端中登录Mysql mysql -uroot -p 然后输入密码即 ...

  5. python 下 excel,csv 文件的读写

    python 可以用利用xlrd 库读取数据excel数据,可以用xlwt写入excel数据,用csv 操作csv文件 xlrd xlwt  python 模块 官方链接  https://pypi. ...

  6. HALC:用于长读取错误纠正的高吞吐量算法

    背景: 第三代PacBio SMRT长读取可以有效地解决第二代测序技术的读长问题,但包含大约15%的测序错误.已经设计了几种纠错算法以有效地将错误率降低到1%,但是它们丢弃了大量未校正的碱基,因此导致 ...

  7. CAFFE(FAQ.1):Ubuntu 配置caffe 框架之数据库读取错误:ImportError: No module named lmdb解决办法

    Z: 在安装了caffe框架后需要读取大量的数据进行学习训练.比如在MNIST识别训练中,一般直接读图片会比较耗时,我们一般将图片转存为数据库中.目前主流的数据库有以下两种选择: LevelDB Lm ...

  8. spark.read.csv读取CSV文件 ArrayIndexOutOfBoundsException报错

    通过 spark.read.csv读取CSV文件时,遇到 到 ArrayIndexOutOfBoundsException报错,初步判断是缺少参数导致,放百度看看,没找引起问题相关的参数. 第一个看到 ...

  9. [转]权限问题导致Nginx 403 Forbidden错误的解决方法

    权限问题导致Nginx 403 Forbidden错误的解决方法 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-08-22 这篇文章主要介绍了权限问题导致Nginx 403 F ...

随机推荐

  1. android传感器;摇一摇抽签功能

    package com.kane.sensortest; import java.util.Random; import android.hardware.Sensor; import android ...

  2. UVA 11748 - Rigging Elections(dfs)

    UVA 11748 - Rigging Elections option=com_onlinejudge&Itemid=8&page=show_problem&category ...

  3. LeetCode 680. Valid Palindrome II (验证回文字符串 Ⅱ)

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  4. C++中stringstream ostringstream istringstream使用方式

    C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包括sstream.h头文件. istringstream类用于运行C++ ...

  5. 算法题:打印1到最大的n位数

    说明:本文仅供学习交流,转载请标明出处,欢迎转载!        今天看到剑指offer上的第12题,题目例如以下:        输入数字n.按顺序打印出从1到最大的n位十位数. 比方输入3,则打印 ...

  6. maven使用(转载)

    一.安装配置: 1.安装配置JDK    java/javac -version 2.安装配置maven   mvn -v 3.下载项目模板    mvn archetype:generate 二.详 ...

  7. Changing the Output Path in your Web Applications is a bad idea

    http://lnbogen.com/2006/09/20/changing-the-output-path-in-your-web-applications-is-a-bad-idea/ Let’s ...

  8. Ip获取请求ip

    public class IPAdress { public static bool isIP(string str1) { || str1.Length > ) return false; s ...

  9. MSP430:管脚的第二功能选择

    之前在使用PWM,AD时候用到过第二功能,不过都是copy没有注意过PXSEL究竟怎么设置,今天在设置晶振管脚时候遇到了麻烦,细致看了一下其实很简单,在SPEC的最后详细讲了每个管脚如何设置为其他功能 ...

  10. 【转】Java - printf

    [转自]http://heidian.iteye.com/blog/404632 目前printf支持以下格式:            %c        单个字符            %d     ...