pandas保存成CSV格式时数据换行:SQL的REPLACE函数过滤掉数据的回车符

本文主要讲述在用pandas处理数据库数据并保存为csv格式时,出现某列数据自动换行的问题。经分析,是数据清洗时未过滤回车符所致。解决方法是使用SQL(MySQL)里的REPLACE函数,过滤回车符、换行符、水平制表符等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在用pandas处理数据库的数据时,将处理的结果保存成csv格式,发现有一列的数据自动换行了,而没有待在原本的列里面。

在这里插入图片描述

原因分析

之前花了很多时间来查看pandas.to_csv()处理数据的出现问题,后面分析验证不是to_csv()的问题,其实是我的数据本身有问题——数据清洗的时候,没有过滤掉回车符。用Python读取数据库里的5行数据,发行vendor_ids这个字段下面的数据都是带着“\r”
例如:‘vendor_ids’: u’124950\r’

数据库可视化界面展示的数据
红色下划线的部分就是回车符在数据库可视界面里的展示效果(https://img-blog.csdnimg.cn/20190523145756507.png)

解决方法

使用SQL(ps:我用的是MySQL)里的REPLACE(filedname,args,’’)函数过滤掉。

args:有下面几种情况
CHAR(13):回车符 \r
CHAE(10):换行符 \n
CHAR(9):水平制表符 \t
’ ’ :空格

‘’ :去除;如果是替换的,可以换成其他的替换对象。

SELECT vendor_name,tpl_name,sender_list,REPLACE(vendor_ids,CHAR(13),’’) AS vendor_id FROM tpl_configs;

效果:可视化界面里已经没有回车符的视图了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值