如何从Excel的单元格中删除某些字符

时间:2018-07-18 20:15:14

标签: excel python-3.x openpyxl

我是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()`

1 个答案:

答案 0 :(得分:1)

您应该使用re模块。

import re

value = re.sub('^', '', input)   # where input is the values that you want substituted

这将用任何内容替换^的所有实例,有效地将其删除并存储在值中。如果您要执行的操作不只一个,则可以遍历列表并将其简单地附加到新的 cleaned 值列表中。

编辑:如果您需要更多有关执行此操作的信息,请留下评论,并不良更新代码以反映您的问题。