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中的“编辑”—>“替换”操作
当前分隔符为‘,’
替换为‘ | ’,并单击全部替换
替换后,分隔符为‘ | ’
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


猜你喜欢
- 1、更新整张表,如果某一行数据的某一列的值为空,那么让他和另一列字段的值相等UPDATE ot_tgbz set update_day=if
- 将来电脑的大显示屏会越来越普及,并且从现在web设计作品中能观察到两点趋势:页面布局普遍更宽;页面内容文字普遍更大。使用1280×800和1
- 一、MySQL优点:体积小、速度快、总体拥有成本低,开源;支持多种操作系统;是开源数据库,提供的接口支持多种语言连接操作 ;MySQL的核心
- 1 导言 Microsoft 在Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关
- 背景近期看到一篇文章,真的感叹作者的洞察力,在开发时有可能就会犯这样的错误,所以一定要多学习,多实践。其问题就是你在提交事务时,如果中间有其
- 很多DBA目前还停留在Oracle 9i或者10g,究其原因有可能是Oracle 11g的价格问题。本文将为大家讲解在Windows 7下安
- Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还
- 最近写了两个管理后台的前端页面,其中有一个管理后台,左侧菜单导航和右侧内容页是两个iframe,需求是,点击上面的主导航时,左侧iframe
- pygame.transform 模块允许您对加载、创建后的图像进行一系列操作,比如调整图像大小、旋转图片等操作,常用方法如下所示:下面看一
- 查看隐藏参数SELECT x.ksppinm name,y.ksppstvl value,y.ksppstdf isdefault,deco
- 在新版的MVC6中,微软提供了强大的TagHelper功能,以便让我们摆脱如下的臃肿代码:@Html.LabelFor(model =>
- 一、背景主流被使用的地理坐标系并不统一,导致我们从不同平台下载的数据由于坐标系的差异往往对不齐。这个现象在多源数据处理的时候往往很常见,因此
- 使用python删除excel表格重复行。# 导入pandas包并重命名为pdimport pandas as pd# 读取Excel中Sh
- 电脑安装git客户端、注册github账号并登陆到本地项目文件夹右键选择git bash here输入个人信息(代码提交者)git conf
- 一、我希望画面尽量干净一点,这样看的人会舒服一点。撇开这个“设计常识”不谈,先回忆一些生活经验。设想一下你站在29楼阴暗的走廊里等待电梯,你
- 为满足用户的视觉追求及产品的背景图片的换肤功能,设计师难免在设计上会用到半透明的效果。因此页面重构师基于视觉及产品的需要,采用了PNG32的
- 1.引言效果图:ISBN查询工具通常用于图书管理、图书销售、图书收集和阅读等场景。以下是一些具体的应用场景:图书管理系统:ISBN查询工具可
- DSDS应用场景1、背景“双卡手机”在中国手机市场占据近90%市场份额,随着软卡、云卡、eSIM的发展,双卡的应用也将更加广泛。此外,5G面
- 最近刚出了新闻,阿里四名网络安全部门员工利用网页漏洞写js脚本抢月饼,于是兴致来了,想了解一下这个js脚本到底怎么写,各种刷单各种抢枪抢又是
- 1.游标方式 代码如下:DECLARE @Data NVARCHAR(max) SET @Data='1,tanw,2,