解决pandas写入excel时的ValueError: All strings must be XML compatible报错

报错内容:
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters

报错背景

用pands批量写入excel文件,发生编码报错。检索了很多方案,都不能解决。

导致报错的原因是存在违法字符,不符合 XML 的解析规则。pandas写入应该是调用了xml的解析方法,所以这里也要符合xml的字符规则。

很多方法都是针对自己任务中遇到的特定违法字符进行的替换操作,不具备一般性。所以这里列出了一个最终解法——逐个字符的判断是否符合xml编译规则,只保留符合规则的编码。

最终代码

def valid_xml_char_ordinal(c):codepoint = ord(c)# conditions ordered by presumed frequencyreturn (0x20 <= codepoint <= 0xD7FF orcodepoint in (0x9, 0xA, 0xD) or0xE000 <= codepoint <= 0xFFFD or0x10000 <= codepoint <= 0x10FFFF)def wash_data(text):cleaned_string = ''.join(c for c in text if valid_xml_char_ordinal(c))return cleaned_stringtext = "xxx"
text = wash_data(text)  # 完成清洗

参考

[1] 在python中过滤掉某些字节_python_Mangs-Python

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/662810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

米贸搜|Facebook公共主页反馈分数(ACE) 更新

前段时间Meta改进了公共主页反馈分数的仪表板&#xff0c;发现有部分广告主似乎没有接受到这条动态&#xff0c;今天为大家整理出更新内容&#xff0c;方便各位广告主了解学习&#xff01; Meta重新设计了公共主页反馈分数仪表板&#xff0c;以便广告主能更轻松地了解总体反馈…

【INTEL(ALTERA)】为什么 F-tile Serial Lite IV FPGA IP 设计示例会失败

说明 由于Intel Agilex 7 FPGA I 系列收发器-SoC 开发套件的时钟控制器 GUI 存在问题&#xff0c;当您需要配置芯片 Si5332 的 OUT1 时钟频率时&#xff0c;您可能会发现 F-tile Serial Lite IV 英特尔 FPGA IP设计示例失败。这是因为此 Si5332 GUI 存在问题;无法准确配置 OUT…

8. Threejs案例-SVG渲染器和WEBGL渲染器对比

8. Threejs案例-SVG渲染器和WEBGL渲染器对比 实现效果 知识点 SVG渲染器 (SVGRenderer) SVGRenderer 被用于使用 SVG 来渲染几何数据&#xff0c;所产生的矢量图形在以下几个方面十分有用&#xff1a; 动画标志 logo 或者图标 icon可交互的 2D 或 3D 图表或图形交互式地图复…

《拳皇97》中的人物性格——麻宫雅典娜

在充满热血与激情的《拳皇97》世界中,有一位身披粉红战袍、手持麦克风当武器的女性角色脱颖而出,她就是我们的甜美格斗家——麻宫雅典娜。这位看似柔弱却内藏坚韧的偶像歌手,以其独特的性格魅力和幽默生动的表现方式,在格斗场上演绎了一幕幕让人捧腹又感动的瞬间。 首先,让…

【C++11(一)】列表初始化and右值引用

一、 统一的列表初始化 1.1 &#xff5b;&#xff5d;初始化 在C98中&#xff0c;标准允许 使用花括号{}对数组或者结构体元素 进行统一的列表初始值设定 C11扩大了用大括号 括起的列表(初始化列表)的使用范围 使其可用于所有的内置类型和 用户自定义的类型 使用初始化列表时…

Flutter 解决ExpansionTile上下分割线问题,以及title撑满问题

文章目录 前言一、解决上下分割线问题二、使ExpansionTile的title撑满总结 前言 最近在做flutter项目&#xff0c;其中的一个功能用到了ExpansionTile的效果&#xff0c;奈何我们的设计师要求很高&#xff0c;展开的时候不能有上下一根线&#xff0c;而且我们是不需要展开的按…

nginx反向代理----->微服务网关----->具体微服务

今天&#xff0c;做项目的时候做项目的时候配路由出现bug&#xff0c;特此理顺一下从nginx到微服务网关再到微服务这一过程。 nginx配置 upstream admin-gateway{server localhost:21217; }server {listen 8803;location / {root F:/develop/admin-web/;index index.html;}…

十六、Vben框架table内部合并行

在vben项目中合并内部的行是一个常规的操作,以前我们说过如果是一条数据内部只需要分割拿高撑开就可以实现,在第三章的时候我们已经讲过了,那么如果是不定的条数合并为一条数据呢,怎么能够实现呢,下面我们就来讲讲。 先看效果图 如图,能看到是三条数据,其实是…

数据库复试—SQL查询举例

数据库复试—SQL查询举例&#xff08;续&#xff09; 单表查询实例 查询年龄在20到23岁之间的学生信息 select * from student where sage between 20 and 30; ------------------------------------- | Sno | Sname | Ssex | Sage | Sdept | -------------------------…

【Django-ninja】django ninja中使用查询过滤器FilterSchema

Django ORM中过滤器 filter的基本用法 filter() 是 QuerySet 对象的一个方法&#xff0c;用于从数据库中过滤数据。它接受一个或多个关键字参数&#xff0c;每个参数都表示一个查询条件&#xff0c;它们之间是 AND 关系。 以下是 filter() 方法的基本用法示例&#xff1a; fr…

基于springboot+vue的旅游管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究现状…

mysql - 笔记

对于C++开发者来说,连接MySQL数据库的库也有几个选择。以下是一些支持Windows和Linux的MySQL C++库: MySQL Connector/C++: MySQL Connector/C++是MySQL官方提供的C++连接器库,它提供了对MySQL数据库的高性能访问。它支持Windows和Linux系统,并提供了面向对象的API,使得与…

Flutter 各种Demo效果合集

Flutter 各种Demo实现效果&#xff1a; github&#xff1a;GitHub - PangHaHa12138/FlutterDemo: Flutter 各种Demo效果合集 1&#xff1a;2种 仿朋友圈 效果,顶部拉伸 和 不拉伸 2&#xff1a;仿抖音上下滑动视频播放 3&#xff1a;视频直播&#xff08;使用的电视台的m3u…

Linux查询日志命令

Linux查询日志 常见的问题排查有&#xff0c;k8s、arthas、堡垒机… 找到本电脑的 longs 日志文件夹&#xff0c;里面有error 日志… 常见的错误日志查看命令有&#xff1a; -- 查询错误日志 所有的错误日志 cat error.2024-02-02 -- 指定过滤条件 cat error.2024-02-02…

考研经验总结——考试期间

文章目录 一、订房二、看考场三、休息四、考前带宾馆的书五、安全 一、订房 我刚刚看了看&#xff0c;是9.10号订的酒店。你们可以提前向学长学姐打听你的考场在哪个学校&#xff08;徐州的考生&#xff0c;考省外的学校是在矿大考试&#xff0c;考省内的学校是在江师大&#…

Apache SeaTunnel (不含web) Window11 本机搭建(非源码)

启动环境 需要提前准备的(只提供作者试过且可行的方案) window11ubuntu20(wsl2) window11内置ubuntu的方式自行百度&#xff0c;此处不做陈述jdk8mysql8navicatvscode 环境准备不做过多陈述&#xff0c;以下是正式的安装启动步骤 SeaTunnel 2.3.3 资源准备 第一步: 创建文件…

spring常用语法

etl表达式解析 if (rawValue ! null && rawValue.startsWith("#{") && entryValue.endsWith("}")) { // assume its spel StandardEvaluationContext context new StandardEvaluationContext(); context.setBeanResolver(new Be…

Task05:PPO算法

本篇博客是本人参加Datawhale组队学习第五次任务的笔记 【教程地址】https://github.com/datawhalechina/joyrl-book 【强化学习库JoyRL】https://github.com/datawhalechina/joyrl/tree/main 【JoyRL开发周报】 https://datawhale.feishu.cn/docx/OM8fdsNl0o5omoxB5nXcyzsInGe…

vs +cmake 开发的注意

vs自动生成的cmake 项目在项目顶目录会有 一个cmakepresets.json文件 在cmake文档里 该文件是对cmake的某些变量进行提前预设. 引入标头的问题: CMAKE_BUILD_TYPE 设置为Release vs不会自动给你找标头 甚至不会给你自动提示 设置为 Debug 即可 在cmake 项目里面 如果对某…

Redis的big key问题介绍以及监控手段

本文目录&#xff1a; 1、big key的定义及问题 2、2023年实际生产事故 3、监控手段 4、预防手段 &#xff08;一&#xff09;big key的定义及产生的问题 Redis 的big key是指value占用内存空间较大的键值。通常&#xff0c;针对不同的数据类型会用元素个数或者占用空间大小…