python syntaxerror unexpected eof的错误处理( IllegalCharacterError)

2023-10-29

python syntaxerror unexpected eof的错误处理( IllegalCharacterError)

写了这样一段Python代码,用于将内容写入Excel。 其中self.keylist / self.valuelist 有30个值。但是在轮询写入第23个值的时候,直接跳出,报错“IllegalCharacterError”。 Debug过程将self.valuelist 的值单独复制出来未发现有什么异常。

def writetoExcel(self):
    self.check_exist_excel(EXCEL_PATH)
    print("EXCEL_PATH is :", EXCEL_PATH)
    wb = openpyxl.load_workbook(EXCEL_PATH)
    ws = wb.get_sheet_by_name(self.str_today)
    ws.cell(1, 1).value = "程序名称"
    ws.cell(1, 2).value = "内存统计"
    row_num = len(self.keylist)
    for row in range(2, row_num + 1):
        if self.keylist[row - 2] == '':
           self.keylist[row - 2] = 'This name is empty!'
        if self.valuelist[row - 2] == '':
            self.valuelist[row - 2] = 'This value is empty'
        ws.cell(row, 1).value = self.keylist[row - 2]
        ws.cell(row, 2).value = self.valuelist[row - 2]
        # print(row)   #调试用
    wb.save(self.excel_result_path)

后来跟踪到cell.py 中的ILLEGAL_CHARACTERS_RE 发现

ILLEGAL_CHARACTERS_RE = re.compile(r'[\000-\010]|[\013-\014]|[\016-\037]')
ERROR_CODES = ('#NULL!', '#DIV/0!', '#VALUE!', '#REF!', '#NAME?', '#NUM!',
               '#N/A')

这里的compile是八进制的ASCII码,说明我获取的内容vauelist 中肯定是
包含了这样的被认定在Excel中是非法字符的字符。
因此将基础方法 check_string 中raise IllegalCharacterError 注释掉,同时加上value = ILLEGAL_CHARACTERS_RE.sub(r’’,value) 这样,执行脚本的时候就可以继续进行了

  def check_string(self, value):
        """Check string coding, length, and line break character"""
        if value is None:
            return
        # convert to str string
        if not isinstance(value, str):
            value = str(value, self.encoding)
        value = str(value)
        # string must never be longer than 32,767 characters
        # truncate if necessary
        value = value[:32767]
        if next(ILLEGAL_CHARACTERS_RE.finditer(value), None):
            **# 如果发现包含非法字符,则替换为空。
            value = ILLEGAL_CHARACTERS_RE.sub(r'',value)
            # raise IllegalCharacterError**
        return value
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python syntaxerror unexpected eof的错误处理( IllegalCharacterError) 的相关文章

  • 【华为OD机试真题 JAVA】最大N个数与最小N个数的和

    JS版 华为OD机试真题 JS 最大N个数与最小N个数的和 标题 最大N个数与最小N个数的和 时间限制 1秒 内存限制 262144K 语言限制 不限 给定一个数组 编写一个函数来计算它的最大N个数与最小N个数的和 你需要对数组进行去重 说
  • 基于SD卡的FatFs文件系统(FatFs移植到STM32)

    平台 STM32ZET6 核心板 ST LINK V2 SD卡 USB串口线 一 移植 工程介绍 主要文件在USER组中 bsp sdio sdcard c bsp sdio sdcard h和main c 另外FatFs是用来后面移植文件
  • SpringBoot输出“Hello”

    1 创建SpringBoot 创建controller包 其绝对路径是C Dpan javaProject jProject src main java com example jproject controller 在controller
  • 给已经创建好的项目添加eslint

    今天拿到一个项目 发现没有安装eslint 现在就在这大概记录一下vue项目添加eslint的具体的过程 实现目标 给项目添加eslint 在这叫做demo 准备工作 找一个已经开启了eslint的项目 在这叫做demo1 没有的话 可以直
  • 数字图像处理学习笔记(一)

    文章目录 前言 第一章绪论 1 1 什么是数字图像处理 数字图像 数字图像处理 像素 图像处理的三种典型计算处理 1 2 数字图像处理起源 1 3 数字图像处理应用 1 4 数字图像处理基本内容 1 5 图像处理系统的组成 1 6 小结 第
  • 通俗易懂详解typedef函数指针

    1 函数指针 第一个问题 搞清楚函数指针 必须知道函数指针的实质是一个是一个指针 并不是函数 函数有自己的函数体 而指针只是一个变量 也就比如我们常声明的int a 0中的a一样 细致的讲 如果在程序中定义了一个函数 那么在编译时系统就会为
  • csv批量读取测试数据

    1 添加循环控制器 需要注意请求 CSV配置都在循环控制器下 控制器次数为测试用例个数 2 CSV文件 需要注意不用加 因为读取出数据会自动加上 3 CSV配置 4 查看结果树 需要注意如果接口文档写了信息头 就一定要配置
  • web3.0的简单入门与项目介绍

    web3 0 是什么 1 简介 Web3 0是通过区块链等技术实现更加智能化 去中心化 安全可靠的应用 Web3 0的主要特点包括 去中心化 Web3 0将数据和应用从中心化的服务器转移到分布式的节点上 实现去中心化的应用 安全可靠 Web
  • 机考[81 - 90]

    华为机考 081 字符统计及重排 082 组成最大数 083 最大N个数与最小N个数的和 084 最大花费金额 085 最大矩阵和 086 最大括号深度 087 最远足迹 088 最长连续子序列 089 最长元音子串的长度 090 最长子字
  • 逻辑思维是运用计算机科学的基础概念,简析计算思维中的思维方式及思维本质...

    龙源期刊网 http doc docsou com 简析计算思维中的思维方式及思维本质 作者 张菡 来源 科学与财富 2020年第01期 摘要 计算思维是运用计算机科学的基础概念求解问题 设计系统以及理解人类行为的思维活动 本文主要介绍了计
  • 嵌入式linux应用开发完全手册(一)

    第一篇 嵌入式Linux开发环境构建 1 1 2 嵌入式发展 SCM Single Chip Microcomputer 单片机 MCU Micro Controller Unit 微控制器 SoC System on a Chip 系统级
  • 共享打印机 需要查找inf文件_打印机怎么用图文详解

    大家好 今天分享一篇来自小白系统官网 xiaobaixitong com 的图文教程 打印机在办公场所是非常易见的设备 对于打印机的使用需要也是比较大 但是很多人其实并不晓得打印机怎么用 每次打印的时候都要叫人帮忙 本文就来详细教大家如何解
  • 数据库基础题

    讲一下原来公司里建表的规范有哪些 这些规范有什么好处 事务的几个隔离级别 什么是聚集索引和非聚集索引 数据类型TIMESTAMP和DATETIME有什么不同 一个表有是那个查询字段 年龄 性别 姓名 符合索引怎么建 建的原则是什么 用户表
  • 【读书笔记】高级FPGA设计之面积结构设计

    目录 面积结构设计 折叠流水线 基于控制的逻辑复用 资源共享 复位对面积的影响 无复位的资源 无置位的资源 无同步复位的资源 复位 RAM 利用置位 复位触发器引脚 总结 面积结构设计 本篇讨论数字设计的三个主要物理特性的第二个 面积 并分
  • 【VMware】开启虚拟机时 出现“无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件“,这样完美解决

    今早我打开虚拟机时发现以往从没有出现过打不开的问题 今天竟然出现了 不论我尝试多少次 都是出现 无法打开内核设备 Global vmx86 系统找不到指定的文件 针对这个问题 我尝试了很多方法 以下这种方法是我觉得最好用的方法 Window
  • 别了,Firebug!

    点击上方公众号 可快速关注 转自 技术最前线 TopITNews 如有好文章投稿 请点击 这里了解详情 如果你是前端开发者 那你肯定知道或用过 Firebug 10月24日 Mozilla 工程师和 Firebug 团队领导 Jan Hon
  • “35岁还没副业,都不好意思混职场”:摆脱死工资推荐这种副业

    最近很流行一个词 叫 副业刚需 不管从事什么工作 作为一个成年人都应该要有自己的Plan B 根据某招聘网站发布的研究报告显示 43 9 白领当下有副业刚需 且随年龄增加 对副业的需求程度也在提升 在95后 90后 80后 70后中 有副业
  • drool 7.x 属性:duration

    规则 package com rules import entity Ping declare Ping role event 要把插入的数据声明为event 默认是fact expires 20s 用来显示设置事件的过期时间 也就是说过了
  • Java学习笔记38——网络编程02

    UDP通信程序 UDP通信程序 UDP通信原理 UDP发送程序 UDP接受数据 UDP联系 UDP通信程序 UDP通信原理 UDP协议是一种不可靠的网络协议 它在通信两端各自建立一个Socket对象 但是这两个Socket只是发送 接收数据
  • Java时间格式:yyyy-mm-dd转换为yyyy年mm月dd日

    1 sql直接操作 SELECT DATE FORMAT 2022 01 04 Y年 m月 d日 结果 2022年01月04日 2 java 格式化操作 Date date new SimpleDateFormat yyyy MM dd p

随机推荐

  • HAL库之读写STM32F103内部的FLASH空间

    在此声明 本文摘自这里 码神岛 STM32F0x HAL库学习笔记 5 片内FLASH的读写操作 本文开发环境 MCU型号 STM32F103C8T6 IDE环境 MDK 5 25 代码生成工具 STM32CubeMx 5 0 1 HAL库
  • c语言字符串数组的两种表示方法

    字符串数组 1 定义 字符串数组 一个数组中的所有的元素都是字符串 如果想存储一堆字符串那么可以使用字符串数组 说白了字符串数组就是二维数组 字符串数组两种表示 第一种 char strr 4 6 aaa bbb ccc char类型的二维
  • 设置IntelliJ IDEA的heap size

    error Exception in thread Animation Thread java lang OutOfMemoryError Java heap space 解决方法 run gt edit configurations gt
  • gdb调试-dump

    gdb结合coredump定位崩溃进程 lazycat posted 2012年2月02日 09 35 in linux 18166 阅读 Linux环境下经常遇到某个进程挂掉而找不到原因 我们可以通过生成core file文件加上gdb来
  • Java高并发系统的限流策略

    概要 在大数据量高并发访问时 经常会出现服务或接口面对暴涨的请求而不可用的情况 甚至引发连锁反映导致整个系统崩溃 此时你需要使用的技术手段之一就是限流 当请求达到一定的并发数或速率 就进行等待 排队 降级 拒绝服务等 在开发高并发系统时有三
  • sql javascript ajax,javascript - AJAX Sql Update not working - Stack Overflow

    I stripped down my code to make this question a little simpler This is my PHP at the top of the file if isset POST actio
  • GIS常见数据格式

    文章目录 1 矢量数据格式 2 栅格文件格式 3 模型文件格式 1 矢量数据格式 矢量文件格式 文件说明 数据集类型 AutoCAD Drawing 文件 dwg DWG 是 AutoCAD 的图形文件 专门用于保存矢量图形的标准文件格式
  • 系统环境配置

    JAVA 1 openjdk和Maven安装 添加环境变量 bash profile export MAVEN HOME Users admin Software apache maven 3 8 1 export JAVA HOME Li
  • Jpa 主键@Id @IdClass 以及 @EmbeddedId和@idClass的区别

    1 自动主键 默认情况下 主键是一个连续的64位数字 long 它由ObjectDB自动为存储在数据库中的每个新实体对象自动设置 数据库中的第一个实体对象的主键是1 第二个实体对象的主键是2等等 当从数据库中删除实体对象时 主键值不会被回收
  • 简述什么是封装性、继承性和多态性

    封装就是把普通的对象进行封装 对象的属性设为私有的 对外提供get和set方法 其他类只能通过get和set对对象属性值进行操作 继承是发生在两个类之间 一个类继承另一个类是说这个类属于另一个类 具有另一个类的所有属性和方法 同时它还可以有
  • Word标题样式设置多级自动编号

    0x01 问题起源 有时候在写论文时需要设置自动编号 手动标记一来太多 太麻烦 二来牵一发而动全身 不易修改 Word的标题样式好用 如上图 可以方便设置同一级标题的样式 但是在标题样式设置中的 编号 如下图 却无法达到我们想要的多级自动编
  • 泛型——反射来获取泛型信息

    利用反射来获取泛型的类型 泛型信息 步骤 1 获取当前类 2 获取目标字段 3 获取包含泛型类型的类型 getGenericType 4 强转至子类ParameterizedType 5 获得泛型真正的类型 getActualTypeArg
  • linux系统rwx(421)、777权限详解

    摘要 linux的常见权限 mark一下 常用的linux文件权限如下 444 r r r 600 rw 644 rw r r 666 rw rw rw 700 rwx 744 rwxr r 755 rwxr xr x 777 rwxrwx
  • springboot 分页查询参数_精通SpringBoot--分页查询功能的实现

    本文将介绍如何实现分页查询功能 推荐使用github的pagehelper插件实现 事实上大家基本都是这么干的 但本文的实现方式和大多数不同 废话少说 现在就带着大家看看区别在哪里 先看pom xml依赖 相当简单的mybatis spri
  • 隐藏android中EditText的下划线

    有的时候需要隐藏掉EditText的边框和下划线 代码为 主要是这一栏 android background null
  • nested exception is org.apache.ibatis.exceptions.PersistenceException:

    问题 org mybatis spring MyBatisSystemException nested exception is org apache ibatis exceptions PersistenceException Error
  • Prometheus Node_exporter 之 Network Netstat ICMP

    Network Netstat ICMP proc net snmp 1 ICMP Errors 1 type GraphUnit shortLabel Messages out in InErrors 接收的 ICMP 错误的报文 例如I
  • 智慧水务行业市场研究 附下载地址

    智慧水务通过数采仪 无线网络 水质水压表等在线监测设备实时感知城市供排水系统的运行状态 并采用可视化的方式有机整合水务管理部门与供排水设施 形成 城市水务物联网 并可将海量水务信息进行及时分析与处理 并做出相应的处理结果辅助决策建议 以更加
  • java程序员_Java程序员必备的一些流程图

    前言 整理了一些Java基础流程图 架构图 做一下笔记 大家一起学习 1 spring的生命周期 Spring作为当前Java最流行 最强大的轻量级容器框架 了解熟悉spring的生命周期非常有必要 image png 首先容器启动后 对b
  • python syntaxerror unexpected eof的错误处理( IllegalCharacterError)

    python syntaxerror unexpected eof的错误处理 IllegalCharacterError 写了这样一段Python代码 用于将内容写入Excel 其中self keylist self valuelist 有