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

    xiaoxiao2022-07-12  149

    问题

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

    原因分析

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

    数据库可视化界面展示的数据 红色下划线的部分就是回车符在数据库可视界面里的展示效果

    解决方法

    使用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;

    效果:可视化界面里已经没有回车符的视图了。

    最新回复(0)