Python使用read_csv读数据遇到分隔符问题的2种解决方式

作者:清三皮 时间:2022-01-13 13:30:47 

用read_csv读数据遇到分隔符问题的两种解决方式

import pandas as pd

1.更改read_csv函数中的传参“sep”

1.1缺省sep参数

默认分隔符为‘,’

1.2不缺省sep参数

1.2.1要读入的文档中分隔符为一位字符

用单引号括起文本中的分隔符

例:sep = '|'

1.2.2要读入的文档中分隔符为多位字符

多位字符在python中被识别为正则式

此时可用为sep = ‘\s+’(不论多位分隔符有什么组成,比如几个空格、\r\t)

此时,python将用自己的语法分析器来对多位字符进行识别

2.利用记事本功能进行分隔符替换

因为自己在编程的时候用正则表达式出现了一些问题,故找到了另一种更改文本中分隔符,以便于设定sep参数的方法,现记录如下。

2.1利用txt中的“编辑”—>“替换”操作

Python使用read_csv读数据遇到分隔符问题的2种解决方式

当前分隔符为‘,’

Python使用read_csv读数据遇到分隔符问题的2种解决方式

替换为‘ | ’,并单击全部替换

Python使用read_csv读数据遇到分隔符问题的2种解决方式

替换后,分隔符为‘ | ’

Python使用read_csv读数据遇到分隔符问题的2种解决方式

2.2小tips

选择分隔符的时候有可能面临

“这么大空挡是几个空格?”

“这个逗号是中文的还是英文的?”

…

所以建议直接用鼠标拉着两个数据之间的分割区域,复制,然后粘贴填入要替换的框中。(像我这种手残眼花的人就喜欢这种方式。。。)

补充:Python read_csv 报错:‘gbk‘ codec can‘t decode byte 0xb4 in position 8: illegal multibyte sequence

在我们使用pandas.read_csv()读取文件时 经常会遇到UnicodeDecodeError 的错误

我遇到的主要有两种:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xb4 in position 8: illegal multibyte sequence

或者

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte

尝试过改encoding="gbk",encoding="utf-8"或者GB2312、gbk、ISO-8859-1的方法,有时候能够起效果,有时候不行

介绍一种最有效的方法:

1.找到csv文件–>右键–>打开方式–>记事本

2.打开记事本之后,在右下角可以看到文件的默认编码格式为ANSI,选择头部菜单的“文件–>另存为”,

3.选择编码下拉框,选择需要的编码格式UTF-8,重新保存即可

4.使用 read_csv('./test.csv', encoding="utf-8") 即可

下面我遇到过错误可以尝试的解决办法如下(推荐使用上面的,下面的有时候也不行):

1. csvdata = pd.read_csv(file, keep_default_na=False, encoding="gbk")

报错:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xb4 in position 8: illegal multibyte sequence

解决:将 encoding="gbk" 改为encoding="utf-8" 或者删掉

2. csvdata = pd.read_csv(file, keep_default_na=False)

报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte

解决:加上 encoding="gbk" 试试看

来源:https://blog.csdn.net/weixin_50294842/article/details/122930229

标签:python,read,csv,分隔符
0
投稿

猜你喜欢

  • ASP中生成文本文件的两种方式

    2008-04-30 19:33:00
  • php中关于hook钩子函数底层理解

    2023-06-12 06:49:55
  • Pickle模块中的dump()和load()方法简介

    2023-03-21 04:18:06
  • Python随机生成8位密码的示例详解

    2023-09-15 21:04:03
  • 支持PyTorch的einops张量操作神器用法示例详解

    2023-10-17 23:13:06
  • python实现简单井字棋游戏

    2023-08-08 21:38:01
  • python实现K近邻回归,采用等权重和不等权重的方法

    2021-12-21 19:29:26
  • Python pandas读取CSV文件的注意事项(适合新手)

    2021-10-12 12:07:32
  • encodeURIComponent用法UrlEncode与URLEncode.encode()

    2009-05-11 12:40:00
  • 文章关键字替换带链接需要注意的两个问题

    2010-02-25 12:18:00
  • python中property属性的介绍及其应用详解

    2022-09-26 03:21:36
  • PSD to CSS —— CSS布局实战新概念系列教程

    2009-05-30 16:40:00
  • thinkPHP5.0框架简单配置作用域的方法

    2023-11-14 10:24:51
  • Python使用itchat模块实现简单的微信控制电脑功能示例

    2023-01-06 14:56:44
  • Php+SqlServer实现分页显示

    2023-11-20 05:02:24
  • Form表单及django的form表单的补充

    2023-07-21 09:40:04
  • python肯德尔系数相关性数据分析示例

    2023-02-20 21:42:35
  • asp日历代码 显示农历

    2007-09-23 08:40:00
  • 重新认识ASP之后的我在想"是时候改变了"

    2008-05-08 13:10:00
  • 如何获知IE和NC客户端的屏幕分辨率?

    2009-11-23 20:56:00
  • asp之家 网络编程 m.aspxhome.com