我是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()`
答案 0 :(得分:1)
您应该使用re模块。
import re
value = re.sub('^', '', input) # where input is the values that you want substituted
这将用任何内容替换^
的所有实例,有效地将其删除并存储在值中。如果您要执行的操作不只一个,则可以遍历列表并将其简单地附加到新的 cleaned 值列表中。
编辑:如果您需要更多有关执行此操作的信息,请留下评论,并不良更新代码以反映您的问题。