excel - 如何从Excel中的单元格中删除某些字符
问题描述
我是 python 新手,我正在尝试运行一个程序,该程序在 Excel 上运行一个值列表,并从每个索引中删除“^”字符。例如,如果我有一列具有以下值(MS144573^、MS655072^、MS655282^、MS655177^、MS655073^),我希望将每个值替换为(MS144573、MS655072、MS655282、MS655177、MS655073)。
我正在使用 Openpyxl 模块。
我无法确定 Excel 中的单元格是字符串还是字符。有任何想法吗?
我尝试了以下代码:
import openpyxl
from openpyxl import workbook
path = "C:/Users/x/Desktop/x/x.xlsx"
wb = openpyxl.load_workbook(path)
sheet_read = wb.get_sheet_by_name("report")
sheet_write = wb.active
for i in range(1, 10):
x = sheet_write.cell(row = i, column = 1).value
y = len(x)
if x[y] == '^':
x = x[:y-1]
但我得到这个错误:
^ y = len(x) TypeError: 'NoneType' 类型的对象没有 len()`
解决方案
您应该使用 re 模块。
import re
value = re.sub('^', '', input) # where input is the values that you want substituted
这将用空替换所有实例^
,有效地删除它,并将其存储在值中。如果您有不止一个要做,您可以遍历列表并将它们简单地附加到一个新的清理值列表中。
编辑:如果您需要有关如何执行此操作的更多信息,请发表评论并更新代码以反映您的问题。
推荐阅读
- python - 从 MD 文件读取到 pandas 数据帧
- python - Moto mock s3 似乎可以运行但找不到文件
- javascript - 为什么在使用 document.getElementById("tabkategorierna").click(); 伪造点击链接时 所有链接都停止工作?
- c++ - 如何更改此示例中的代码
- ansible - 如何使`with_fileglob`有条件
- c# - C# 中的 ServiceController 不接受参数
- c# - unity randomizer 生成导致非随机梯度
- angular - 我如何从@Output() onSuccess 获得响应:EventEmitter
= 新的事件发射器 (); 到 Angular 中的一个函数 - spring - 具有多实例 Spring Boot 应用程序的 Quartz 调度程序
- c# - ESTABLISHED tcp/ip 端口及其在持久连接中的含义